2015-09-08 32 views
0

如果输入select,我有一个属性。当我尝试从此属性内容获取值时,它会给出标识号而不是值。我打电话就像从选择属性中的attribute_view_gui分配值

$node.data_map.my_attribute_identifier.content 

这是预期的行为。 https://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Datatypes/Selection

原始输出 的使用此数据类型的ezcontentobjectattribute对象的“内容”返回的所选选项的标识号的阵列(如串)。

我想要的值不是标识号。我可以得到,使用attribute_view_gui

attribute_view_gui attribute=$node.data_map.my_attribute_identifier 

但我不能给这样的变量赋值。我如何从select属性分配值?

回答

-1

你可能想看看ezselection的视图模板: ezselection.tpl

这是代码,eZ Publish的用途来查看数据类型。

内容ezselection.tpl的:
{let selected_id_array=$attribute.content} {section var=Options loop=$attribute.class_content.options} {section-exclude match=$selected_id_array|contains($Options.item.id)|not} {$Options.item.name|wash(xhtml)}{delimiter}<br/>{/delimiter}{/section} {/let}

+0

尽管这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 – LeftyX

+1

感谢您的建议,@ LeftyX!我现在添加了ezselection.tpl的内容。 –

0

首先,我建议你要经常检查默认模板在ezpublish搞清楚应该怎么看模板...

也许这个例子可以帮助:

<input 
    id="whatever_id_you_like" 
    type="text" size="50" 
    name="ContentObjectAttribute_ezstring_data_text_{$node.object.data_map.YOUR_ATTRIBUTE_SHORT_NAME.id}" 
    value="{$YOUR_VAR}" 
/> 

或u可以使用默认视图属性是这样的:

{attribute_view_gui attribute=$node.data_map.YOUR_ATTRIBUTE_SHORT_NAME} 

也可能是有益的 - 方式找到正确的路径(有时你需要在路径的末尾添加“.data_int”“.data_text”来显示数据):

{$路径 |属性(显示,深度)}例如:

{$node|attribute(show,2)} 

{$YOUR_FANCY_VAR.content|attribute(show,2)}