クエリストリングの値をグローバル変数として取得する
a-blog cms ではクエリストリングを取得するために「%{QUERY} 」や「%{QOL}」などのグローバル変数 が用意されています。これらのグローバル変数はURLエンコードされているため使用場面によってはURLデコードする必要があるかもしれません。また、クエリストリングの変数名まで取得するようになっているためそのままでは使用できない場合もあるかもしれません。今回はクエリストリングの変数値(バリュー)のみを簡単に取得できるa-blog cmsの機能についてご紹介します。
クエリストリングとは
サーバーに情報を送るためにURLの末尾につけ足す文字列のことです。URLの「?」以降がクエリストリングとなります。
例)https://developer.a-blogcms.jp/document/search.html?keyword=テスト&start=1
上記例だと「?keyword=テスト&start=1」の部分がクエリストリングとなります。
クエリストリングの基本構造
クエリストリングは基本的に、変数名と変数値を指定する「?変数名=変数値」という構造になっています。 また、上記例の場合「&」を使うことで複数の値を設定しており、変数名(キー)にあたる部分が「keyword」と「start」で、変数値(バリュー)にあたる部分が「テスト」と「1」になります。
※ここではクエリストリングについて詳しく解説しないため、詳しく知りたい方は「URLクエリパラメータ」とは何か、 どのような場合に「除外」するべきなのか?[第4回] | Googleアナリティクスとは/衣袋教授のGoogleアナリティクス入門講座 などの他サイトをご参照ください。
今回は、このクエストリングの変数値(バリュー)のみを取得する方法についてご紹介していきます。
記述方法
クエリストリングを渡す
例えば、下記のようにクエリストリングを設定します。
<p>クエリストリングテストURL:<a href="https://exmple.com/?test=クエリストリングテストです!">クエリストリングテストです!</a></p>
上記例の遷移先は「https://exmple.com/?test=クエリストリングテストです!」のようなURLになります。
クエストリングの変数値(バリュー)を取得する
取得時は a-blog cms のグローバル変数 と同じで、下記のように「%{クエリストリングの変数名}」と記述します。これでクエリストリングの変数値(バリュー)を取得することができます。
<p>クエリストリングを取得:%{test}</p>
上記例の出力結果は「クエリストリングを取得:クエリストリングテストです!」のようになります。