drupal 7にノードを作成し、それに「testing」というURLパスエイリアスを与えました。アンカーを使用してパスエイリアスにリンクするメニュー項目を作成しようとすると、エラーがスローされます
私が行った場合 node/1#this
機能しますが、URLパスエイリアスでは機能しません。
回避策はありますか?
アンカータグを使用して完全なURLを追加できます。配備には最適ではありませんが、回避策です。
エイリアスなしでページパスを追加すると、フォームが検証されることがわかりました。
例: "node/1#top"
ただし、メニュー項目/リンクに.active-trailおよび.activeクラスの問題があります。
これは私にとってはうまくいきます:
function phptemplate_url_outbound_alter(&$path, &$options, $original_path) {
$alias = drupal_get_path_alias($original_path);
$url = parse_url($alias);
if (isset($url['fragment'])){
//set path without the fragment
$path = $url['path'];
//prevent URL from re-aliasing
$options['alias'] = TRUE;
//set fragment
$options['fragment'] = $url['fragment'];
}
}