ezプラットフォーム用のカスタム・ビュー・タイプを作成することは誰も知っていますか?デフォルトの3が使い尽くされました。新しいものが必要です。 render(controller(
をカスタムテンプレートと一緒に使用する方法を知っている人は、今すぐブロックを解決することができます。ezplatformコンテンツ・タイプのマルチ・リレーショナル・コンテンツ項目のURLおよびオブジェクト名を持つリンクをレンダリング
基本的には、使用するコンテンツオブジェクトに複数のリレーショナルフィールドがあり、関連するすべてのcontentIdsへのリンクを印刷する必要がありますが、pathはうまく動作しますが、リンクのコンテンツオブジェクトの名前を抽出する方法が見つかりませんparamsを渡すかなりのファンキーなtpl論理を使わずに。
EG:ここではハックとしてrender(controller("ez_content:viewAction"
のカスタムパラメータとして「embed_type」を渡して、特定のコンテンツタイプとビュータイプのコンテンツオブジェクトの代替ビューを取得することができます。
{% if embed_type is defined %}
{% include "embed/#{embed_type}.html.twig" %}
{% else %}
<h1>{{ ez_field_value(content, 'name') }}</h1>
{% endif %}
しかし、これは非常に醜いであり、我々が本当にやりたいすべては私たちが行う必要があるすべては唯一のものとして、リレーショナルフィールドをループし、印刷のリンク(利用可能で、すべてのコンテンツタイプに対して1つのテンプレートを使用していますコンテンツフィールドには:「宛先ID」)。私は、ドキュメントでこのオプションになるはずが使用していますが、私はもうそれを見つけることができません。例:
{% set links = ez_field_value(footer, "first_links_row").destinationContentIds%}
{% for id in links %}
{{ render(controller("ez_content:viewAction", {"contentId": id, "template": "link.html.twig"})) }}
{% endfor %}
link.html.twigは簡易印刷リンクになります。
<a href="{{ path("ez_urlalias", {"contentId": id}) }}">
{{ ez_field_value(content, "name") }}
</a>
使用している場合カスタムtplはrender (controller (
ヘルパーではできませんし、新しいカスタムビュータイプでもこの問題は修正されますが、どちらのドキュメントも見つかりません。
素晴らしいありがとうございます。 – John
'eZ \ Publish \ API \ Repository \ Repositoryを使用します。 eZ \ Publish \ API \ Repository \ Values \ Content \ Contentを使用します。 eZ \ Publish \ API \ Repository \ Values \ Content \ ContentInfoを使用します。 eZ \ Publish \ API \ Repository \ TranslationService; 'を使用します。 – John
はい、申し訳ありませんが、これらのuse文は最低でも必要です:) – iherak