eZPublish-如何获取Selection值



我(在admin中)创建了一个名为color的选择字段。现在我无法访问它。当我运行{$note.data_map.color.content|attribute(show)}时,它会打印value。但如果没有attribute(show),我就无法访问它。我能做什么?

eZSelection的content是一个数组,访问content上的0键以获取值。

{$node.data_map.email_option.content.0}

  1. 别忘了,您总是有attributeviewgui*,在这种情况下它可以帮您很多忙
  2. 您可以将属性设置为信息收集器,并从用户那里收集信息

*{attribute_view_gui attribute=$node.data_map.color}

您需要将class属性中定义的选项数组与所选选项的id进行匹配,才能获得其值。

$node.data_map.color.class_content.options将包含所有可用选项(具有idname值的关联数组)

$node.data_map.color.content是一个数组,包含所选选项的id(因为此字段可以处理多次选择)。

即使不赞成使用{section}函数,我也建议您查看呈现ezselection属性的默认模板:design/standard/templates/content/datatype/view/ezselection.tpl

如果你有"多选"类型,你可以这样做:

{if $node.data_map.color.has_content}
    {foreach $node.data_map.color.content as $colorID}
        {foreach $node.data_map.color.class_content.options as $opt}
            {cond($opt.id|eq($colorID), $opt.name, '')}
        {/foreach}
    {/foreach}
{/if}

最新更新