web-dev-qa-db-ja.com

Drupal 7では、パスエイリアスメニューリンクにアンカータグを追加する方法を教えてください。

drupal 7にノードを作成し、それに「testing」というURLパスエイリアスを与えました。アンカーを使用してパスエイリアスにリンクするメニュー項目を作成しようとすると、エラーがスローされます enter image description here

私が行った場合 node/1#this機能しますが、URLパスエイリアスでは機能しません。

回避策はありますか?

2
iStryker

アンカータグを使用して完全なURLを追加できます。配備には最適ではありませんが、回避策です。

4
acouch

エイリアスなしでページパスを追加すると、フォームが検証されることがわかりました。

例: "node/1#top"

ただし、メニュー項目/リンクに.active-trailおよび.activeクラスの問題があります。

1
user20183

これは私にとってはうまくいきます:

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'];
    }
}
1
mustimpress.com

同僚の答えを探して、要旨を見つけました。

あなたたちはそれを試すことができます。

https://Gist.github.com/932595

私はこれに取り組みませんでした。

0
Hari K T