Smart Communication Design Company
ホーム > ナレッジ > Blog > CMS Blog > 2011年1月 > ExpressionEngine URL Segment Variablesの活用について

ExpressionEngine URL Segment Variablesの活用について

2011年1月7日
システムエンジニア 野沢

■URL Segment Variablesのメリットと記述例

URL Segment VariablesはExpressionEngineの標準機能です。
利用することで作業効率を大幅に向上することが可能です。
弊社では、どの案件でも必ず利用しています。

具体的には、URLとコンテンツ名称をうまく合わせるような設計を行い、URL Segment Variablesを利用してURLのスラッシュで区切られた文字列を取得します。設計が正しく行われた場合、同一のテンプレートを複数個所で使いまわすことが可能になります。結果として、テンプレートの実装工数を大幅に下げることができるようになります。

{segment_1},{segment_2}のように記載することによって、最大9つまでのURLセグメントを取得することができます。

●記述例
http://example.com/products/shirts/ というURLの場合、{segment_1}をテンプレートに記載するとproducts、{segment_2}であればshirtsという値をそれぞれ取得することができます。

■セグメントを利用したカスタムフィールドの記述例

上記の例のURLでproducts_bodyという名前のカスタムフィールドを取得する場合は、{{segment_1}_body} のような記述をすることで取得することが可能です。
そのためURLのルールに沿ったカスタムフィールド名を作成しておけば、同じルールでカスタムフィールドの値を 取得することができます。

取得したセグメントの値はカスタムフィールド以外にもブログなどを呼び出す際にも利用することができます。

■if構文とセグメントの併用の記述例

ExpressionEngineのif構文を使い、特定のURLのみ有効になるテンプレート記述も可能です。
下記の例の場合、http://example.com/products/ というURLの場合のみif構文の中の記載が有効になります。

●記述例
{if segment_1 == 'products'}
処理内容
{/if}

■参考URL