ラック
Home > CMS > 記事 > 2015年5月 > ページ内ジャンプ等について

ページ内ジャンプ等について

カテゴリ: MODx

ページ内ジャンプなどで

<a href="#">hoge</a>

と書くことがよくあると思います。

フレンドリーURLを使用していて、これでちょっと躓くことがあったのでメモ。

というのは、ページ内ジャンプなどで上記のように書くとMODx(というよりはおそらく.htaccessでURL書き換えを行っているCMSのシステム全般)ですと「サイトのトップページのURL/#」になってしまいます。

これだとトップページにジャンプしてしまい、ページ内ジャンプにならないため、動作確認のために

<a href="http://<サイトのドメイン>/<パス>/#">hoge</a>

のようにパス付きの指定(指定自体は絶対パスでも相対パスでも良い)をしたくなったのですが、全ページに対してこういう書き方をしようとすると、当然プログラムに頼ることになります。

どうせならMODxのスニペットとかプラグインでできると良いよねー、と思いまして。さてどう実装するか…と。

結果的には1行で済んでしまいました。

<?php
echo $modx->documentIdentifier;
?>

こんなスニペットを作成。名前は"id_dump"とかにしておきますか。

<a href="[~[!id_dump!]~]#">hoge</a>

あとはURLを出力する場所でスニペットコールをかませてリンクタグを付けてあげればOK。

後ろにシャープを付ければ、やりたいことになります。

さて、これで動くかどうかテストしてみましょうか…(これはあくまで前準備なわけですから…

7/8追記

上記の挙動、もしかしなくても

<a href="[~[*id*]~]#">hoge</a>

で事足りたのでは…?(今更

タグ: スニペット

 



関連する記事一覧