使用 Smarty 替代元素顺序

发布于 2024-11-27 06:47:35 字数 185 浏览 0 评论 0原文

我想根据布尔值来交替 HTML 代码 A 是否显示在代码 B 之前。

有点像:

{if $switch}B A{else}A B{/if}

但是,考虑到A和B实际上是HTML+Smarty代码的较长部分,为了可维护性,我不想将它们添加两次。

我该怎么做呢?

I want to alternate whether HTML code A shows before code B based on a boolean.

Somewhat like:

{if $switch}B A{else}A B{/if}

However, considering A and B are actually long parts of HTML+Smarty code, I don't want to add them twice for the sake of maintainability.

How would I go about doing that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深海夜未眠 2024-12-04 06:47:35

{捕获}

{capture} 用于将标签之间的模板输出收集到变量中而不是显示它。 {capture name='foo'} 和 {/capture} 之间的任何内容都会收集到 name 属性中指定的变量中。

来源

{* template *}

{capture name=parta assign=parta}
    foo
{/capture}

{capture name=partb assign=partb}
    bar
{/capture}

{if $switch}
    {$partb} {$parta}
{else}
    {$parta} {$partb}
{/if}

{capture}

{capture} is used to collect the output of the template between the tags into a variable instead of displaying it. Any content between {capture name='foo'} and {/capture} is collected into the variable specified in the name attribute.

Source

{* template *}

{capture name=parta assign=parta}
    foo
{/capture}

{capture name=partb assign=partb}
    bar
{/capture}

{if $switch}
    {$partb} {$parta}
{else}
    {$parta} {$partb}
{/if}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文