3

私はついにStash(EE 2.5.3のバージョン2.3.5)にプロジェクトを進めて、みんなが言うほど良いかどうかを確認します。

私はできる限りドキュメントをフォローし、次のようにページのヘッダーに隠し場所を設定しました。

{exp:channel:entries channel="homepage" limit="1" dynamic="no"}
{exp:stash:set_list name="homepage"}
    {stash:cf_homepage_main_intro}{cf_homepage_main_intro}{/stash:cf_homepage_main_intro}
    {stash:cf_homepage_strapline}{cf_homepage_strapline}{/stash:cf_homepage_strapline}

    {cf_homepage_contact_info}
        {stash:mx_pinterest}{mx_pinterest}{/stash:mx_pinterest}
        {stash:mx_facebook}{mx_facebook}{/stash:mx_facebook}
        {stash:mx_twitter}{mx_twitter}{/stash:mx_twitter}
        {stash:mx_tel}{mx_tel}{/stash:mx_tel}
        {stash:mx_email}{mx_email}{/stash:mx_email}
        {stash:mx_address}{mx_address}{/stash:mx_address}
    {/cf_homepage_contact_info}
{/exp:stash:set_list}
{/exp:channel:entries}

そして、テンプレートの残りの部分で、次のように値を呼び出そうとしています。

{exp:stash:homepage:mx_tel}

しかし、何も得られません。

フィールド名を直接出力すると、正常に機能します。デバッグもオンにしています。stashが値を設定するポイントを確認できますが、すべて正常に見えますが、デバッガーは次のように報告します。

*スタッシュ:取得したホームページ:値付きのmx_email *

私はここからどこへ行くのか少し途方に暮れています...誰かが何かポインタを持っていますか?

ありがとう、

カール

4

5 に答える 5

4

ああ!あなたの質問では、同じテンプレート内から変数を呼び出そうとしていることがわかります。したがって、解析順序の問題が発生しています。process="end"パラメータをexp:stash:get_listまたはexp:stash:getタグに追加する必要があります。そして、テンプレート パーシャルに関する私の記事を読んでください。

于 2012-11-11T20:01:08.007 に答える
3

問題は、同じテンプレート内で {get} を呼び出そうとしたため、タグの後に process='end' が必要だったことです。

また、参考までに、これは私が使用しているものです。

{exp:stash:set name="cf_homepage_main_intro"}{cf_homepage_main_intro}{/exp:stash:set}

そしてそれを元に戻すには(ショートカットタグを使用):

{exp:stash:cf_homepage_main_intro process='end'}

仕事完了!

于 2012-11-11T20:03:58.823 に答える
3

set_list、append_list、および prepend_list を使用する場合は、Stash の get_list タグ ペアを使用する必要があります。

使用しているのは stash:get と同じ Stash ショートカットですが、ドキュメントによると stash:get_list とは異なります。

get_list を使用します。

https://github.com/croxton/Stash/tree/dev#expstashget_list-tag-pair

ショートカットを取得しない:

https://github.com/croxton/Stash/tree/dev#shortcut-tags (set/get に使用)

また、使用しているショートカットは実際にはcontextを利用しています:

{exp:stash:your_context:your_var_name}

上記のタグの「your_context」に注意してください

于 2012-11-11T19:21:17.057 に答える
3

うーん、おそらく構文が間違っていると思います。試す:

{exp:stash:get_list name="homepage"}
  Telephone: {mx_tel}
{/exp:stash:get_list}

また、1 つの項目のみを取得する場合は、set_list の使用をスキップして、個別の変数に set を使用します。どちらも機能しますが、より直感的だと思います..?

于 2012-11-11T16:59:57.400 に答える
2

{exp:stash:set_list name="homepage"} {exp:channel:entries channel="homepage" limit="1" dynamic="no"}

スタッシュがループ内にあることは重要ですか? 解析順序のように、スタッシュが最初に来ないのですか?

于 2012-11-11T18:42:11.113 に答える