【问题标题】:Stash : Conditional ContentStash:条件内容
【发布时间】:2012-11-07 20:53:37
【问题描述】:

首先,请注意...我是 Stash 的新手。我听说过很多,但这是我第一次真正玩它。我明白了这个概念,但很难弄清楚这一点。

我有一个主“包装”文件,该包装内的所有内容都保持不变。但是,我希望能够在需要时打开和关闭侧边栏。

我认为我不需要一个完全独立的布局包装器吗?

有没有办法在 stash 中使用布尔变量? (例如 2col=TRUE)还是我想错了?

提前感谢您的帮助!

【问题讨论】:

    标签: expressionengine expressionengine-stash


    【解决方案1】:

    通常我在这里要做的是在包装器中设置多个 Stash 获取。然后在您的个人模板中,您可以设置侧边栏和主要内容区域。对于可能重复内容的部分,例如侧边栏的打开和关闭 div,您始终可以将一些 sn-ps 放入存储中。

    您还可以使用 exp:stash:not_empty [docs] 将 div 或容器包裹在包装器中的侧边栏。

    【讨论】:

      【解决方案2】:

      我通常为每个模板使用一个包装器。它将包含一个 {exp:stash:get name="content"} 标记,就像您的一样,其中包含唯一的可变内容。

      在我的个人模板中,我在开头使用常规 EE 嵌入 ie 嵌入了包装器。 {embed="includes/wrapper"}.
      然后,我使用 {exp:stash:set name="content"} 标记将要插入到包装器中的内容存储起来。
      无论如何,这似乎是您正在做的事情。

      如果我想有条件地显示一个侧边栏,我可能只是将一个变量传递到嵌入中。
      例如。 {embed="includes/wrapper" show_sidebar="yes"}

      在我的包装中我会这样做:

      {if embed:show_sidebar}
        Sidebar stuff.
      {/if}
      

      【讨论】:

      • 我喜欢这个解决方案。从来没有想过在包装器嵌入中使用嵌入变量。天才。
      • 同样的概念可以在 dev 分支中使用 Stash embeds 来实现。我不再使用任何 EE 嵌入来支持 Stash 嵌入。它们非常棒 - 只需抓住 Stash 的 dev 分支。
      • 谢谢贾斯汀。我还没有熟悉隐藏嵌入。如果他们可以执行相同的任务,那将是一个更好的解决方案。
      • 很酷的解决方案,绝对是“我为什么没有想到那个”的时刻 :)
      猜你喜欢
      • 1970-01-01
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 2021-12-18
      • 2011-12-28
      • 2014-09-25
      • 1970-01-01
      相关资源
      最近更新 更多