WEBマスター

DittoランディングページのURLパラメータをページ中に使う

この記事は約2分で読めます。

またまたMODxの話です。
TvTagCloudを使って、ランディングページのDittoでタギングを使って表示結果を抽出すると、URLに
?hogehoge_tags=○○○
というようにパラメータがつきます。
このパラメータが違うと、外から見ると別のページなので、Googleさんから「?hogehoge_tags=○○○と?hogehoge_tags=△△△のページのmetaデータが重複していますよ」と言われてしまいました。
そこで、この○○○や△△△を、ランディングページのtitleタグやmeta descriptionなどに使うため、取り出せないか試しました。
他にもっと簡単な方法があるかもしれませんが、次のようにしたら出来ました。

phxモディファイアをスニペットで作成します。
こんな感じ。
スニペット名:[[phx:hogehogetags]]
<?php
if(isset($_GET['hogehoge_tags'])) {
$hogehoge = $_GET['hogehoge_tags'];
return $hogehoge;
}
?>

これだけで、ランディングページ(私はランディングページが使用するテンプレート)に、
[+phx:hogehogetags+]
と書くと、○○○が表示されました。

同様に、Dittoでページングを使っている場合、例えば2ページ目だとURLに
?hogehoge_start=1ページに表示する件数
というパラメータがつきます。これも応用で
<?php
if(isset($_GET['hogehoge_start'])) {
$start = $_GET['hogehoge_start'];
$page = $start/1ページに表示する件数+1;
return $page;
}
??>

というphxモディファイアを作ったら、ページ数も表示させることが出来ました。