0

我有这样的代码:

{exp:channel:entrieschannel="blog_channel"limit="10"}
<h1>{entry_title}</h1>
<p>{entry_body}</p>
<p>{entry_author}</p>
{/exp:channel:entries}

基本上,我希望将带有 exp 标记的 HTML 内容分开并放置在模板文件中。我尝试这样做:

{exp:channel:entries channel="blog_channel"limit="10"}
{embed="blog/post"}
{/exp:channel:entries}

我的问题是所有标签({entry_title}、{entry_body} 等)的输出都按字面意思显示,并且它们没有被视为变量。

我怎样才能解决这个问题?

谢谢,彼得

4

1 回答 1

1

对于你想要做的事情,我可能会建议避免嵌入,而是使用片段。例如,它们更有效,但仍允许您在多个模板中使用相同的标记,因此您不必重复自己。像这样的一些东西:

{exp:channel:entries channel="blog_channel" limit="10"}
    {sn_blog_post_list}
{/exp:channel:entries}

然后在您的代码段中,在本例中称为“sn_blog_post_list”:

<h1>{entry_title}</h1>
<p>{entry_body}</p>
<p>{entry_author}</p>

这将允许您对条目循环的不同实例使用相同的代码段。所以在不同的模板中,您可以执行以下操作:

{exp:channel:entries channel="blog_channel" limit="30"}
    {sn_blog_post_list}
{/exp:channel:entries}

因此,这将再次对每个博客条目应用完全相同的标记,但返回 30 个条目而不是前面示例中的 10 个,而无需重复标记。

希望有帮助。

于 2013-03-06T20:30:44.777 回答