6

次のような単一エントリの URL 構造があります。

www.site.com/template_group/template_1/entry_id

しかし、私はそれが欲しい:

www.site.com/template_group/template_1/entry_id/url_title.

Entry_id は、exp:channel:entries を供給するセグメントになります。www.site.com/template_group/template_1/entry_id を www.site.com/template_group/template_1/entry_id/url_title にリダイレクトするにはどうすればよいですか。

どうもありがとう!

4

3 に答える 3

12

次のようなもので動作するはずです。テストはされていませんが、どのように進めればよいかがわかります。

{if segment_4==""}
{exp:channel:entries channel="x" limit="1" dynamic="no" entry_id="{segment_3}"}
    {redirect="template_group/template_1/{entry_id}/{url_title}"}
{/exp:channel:entries}
{/if}
于 2012-11-06T09:30:16.213 に答える
5

これをテンプレートの一番上に置きます:

{if segment_4 == ""}
   {exp:channel:entries channel="channel_goes_here" entry_id="{segment_3}"}
       {redirect="{site_url}/{segment_1}/{segment_2}/{segment_3}/{url_title}
   {/exp:channel:entries}
{/if}

これにより、4 番目のセグメントが設定されているかどうかがチェックされます。設定されていない場合は、entry_id を含む 3 番目のセグメントが取得され、必要な url_title が返されるチャネル エントリ タグにフィードされます。この url_title を使用すると、正しいページに簡単にリダイレクトできます。

于 2012-11-06T09:30:45.230 に答える
4

janvl と madebyhippo からの良い回答

複雑な条件を使用している場合(回答にあるものは単純なものであるため、その問題は発生しません) は、EE が含まれているチャネル エントリ タグを解析するため、パフォーマンスが低下する可能性があることに注意してください。

そのような状況に陥った場合は、 switcheeifelseなどの Mark "The Croxton" アドオンを使用して問題を完全に回避することをお勧めします

于 2012-11-06T11:00:40.540 に答える