ExpressionEngine中的输出条目类别
我试图在ExpressionEngine中输出频道条目的类别,以便我可以将它用作HTML元素上的CSS类 - 请参阅以下示例中我尝试使用的{category_name}
:
{exp:channel:entries
channel="panels"
disable="member_data|pagination|trackbacks|categories|category_fields"
status="open"
dynamic="no"
}
<div class="panel {category_name}">
<h4>{title}</h4>
{if panel_image}
<img src="{panel_image}" />
{/if}
<p>{panel_text}</p>
<a href="{panel_link}">{panel_link_text}</a>
</div>
{/exp:channel:entries}
正如你所看到的,我试图使用条目的类别作为CSS样式“钩子”......但我无法弄清楚如何在我的模板中输出条目的类别。
我宁愿避免在我的模板中使用PHP。 有谁知道如何提高我的代码?
将一个类别标签对包裹在{category_name}
周围,该标签将输出分配给条目的所有类别:
<div class="panel {categories}{category_name} {/categories}">
但是,这会输出类别的“漂亮名称” - 这对于HTML元素上的CSS类或ID是不合需要的:
<div class="panel Category One Category Two ">
相反,请使用{category_url_title}
,这是一个类别名称的网络安全版本:
<!-- Categories Tag Pair code -->
<div class="panel {categories}{category_url_title} {/categories}">
<!-- Outputs the following -->
<div class="panel category_one category_two ">
请特别注意上述示例中的额外空间,这些空间需要用空格分隔多个类别(CSS类)。
如果您对标记强制执行,则可以使用backspace=
参数在输出多个类别时删除尾部空格:
{categories backspace="1"}{category_url_title} {/categories}
如果您希望限制输出的类别数量或来自哪个类别组,请使用类别标签对参数来满足您的需求:
<!-- No whitespace is needed, since we're outputting only one category -->
{categories limit="1"}{category_url_title}{/categories}
以下是供审阅的完整代码片段:
{exp:channel:entries channel="panels" dynamic="no"}
<div class="panel {categories}{category_url_title} {/categories}">
<h4>{title}</h4>
{if panel_image}
<img src="{panel_image}" />
{/if}
<p>{panel_text}</p>
<a href="{panel_link}">{panel_link_text}</a>
</div>
{/exp:channel:entries}
链接地址: http://www.djcxy.com/p/66017.html