2014-09-10 43 views
0

我創建了(在管理員中)一個名爲color的選擇字段。現在我無法訪問它。當我運行{$note.data_map.color.content|attribute(show)}時,它打印value。但是,如果沒有attribute(show),我無法訪問它。我能做什麼?eZPublish - 如何獲取選擇值?

回答

1

eZSelection的content是一個數組,訪問content0鍵來獲取值。

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

+1

這使選擇的'id',而不是價值。我如何獲得價值? – chanchal118 2015-09-08 06:19:01

0

您需要將您的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

1
  1. 不要忘了,你總是有attribute_view_gui *,它可以很幫你在這些情況下很多。
  2. 您可以將屬性設置爲信息收集器並從用戶收集該信息。

* {attribute_view_gui屬性= $ node.data_map.color}

0

如果你有「多項選擇」類型比你可以做這樣的:

{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}