ランディングページのカテゴリ構造

カテゴリグループとルートを使用して、このようなURL構造を持つランディングページのエントリを配信しています。 www.domain.com/properties/retail/freestanding 私のコードはうまくいきますが、それを書く良い方法があるかどうか疑問に思います。 {% set allProperties = craft.entries.section(‘propertiesSection’) %} {% set cat = craft.request.getSegment(2) %} {% set subcat = craft.request.lastSegment %} {% set retail = craft.categories.group(‘properties’).craft.categories.slug(‘retail-properties’) %} {% if subcat == “freestanding” %} {% set entries = allProperties.relatedTo([ {targetElement: freestanding } ]) %} {% endif %} {% if subcat == “storefront” %} {% set entries = allProperties.relatedTo([ {targetElement: storefront } ]) %} {% endif %} …. 等々 {% if entries|length %} {{ entry.title }} {% endif %} ベストアンサー カテゴリがあなたのエントリーに関連している場合、URLセグメントを介してカテゴリを取得する必要はありません。この方法はゆっくりで、何の理由もなく2回作業するので、より

もっと読む

URIからlastSegmentをトリミングすると、その前のセグメントの最後の番号

私は、Craftで小枝やテンプレートを作成するのはかなり新しいです(そして、このコードを継承しているので、さらに楽しくなります)。 私はventiグループに基づいてカレンダー内のイベントをフィルタリングできるカレンダーページを持っています( Ventiカレンダープラグインを使用してグループを作成します)。 現在どのように動作しているかは、どのグループフィルタが選択されても、urlはそのグループIDを最後のセグメントとして更新するということです。 フィルタ名とそのID:Cinema = 1、Theater = 2、Events = 3、Education = 4 ユーザーがフィルタなしで2017年12月のイベントを見ている場合、URL

もっと読む

URLセグメントを取得する方法

craft.request.firstSegment と craft.request.lastSegment は動作しますが、 craft.request.secondSegment は動作しません。任意のURLセグメントの値を取得する方法はありますか(ExpressionEngineなど)? ベストアンサー 同じセグメント配列の位置でセグメントが常にではないの場合、さらに一貫性のある別の方法があります。 routes.php ファイルの特定のマスクと一致するようにルートを設定します。 return [ ” => [‘template’ => ‘team’] ]; そして、あなたの小枝のテンプレートで、URLにこれらの2つが提供されていれば、 country_code と section_URI 変数にアクセスすることができます。定義されていないことを確認することもできます。 {% if country_code is defined %} //Do something with country_code {% endif %} Note: The syntax used in Craft 3 routing differs from the one in Craft 2: https://github.com/craftcms/docs/blob/master/en/upgrade.md#ur

もっと読む