【问题标题】:assign value from attribute_view_gui from select attribute从选择属性的attribute_view_gui 赋值
【发布时间】:2015-09-08 08:39:13
【问题描述】:

如果类型为select,我有一个属性。当我尝试从此属性内容中获取值时,它会给出标识号而不是值。我打电话喜欢

$node.data_map.my_attribute_identifier.content

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

原始输出 使用此数据类型的 ezcontentobjectattribute 对象的“.content”返回所选选项的标识号(作为字符串)数组。

我想要的是值而不是标识号。我可以使用attribute_view_gui 来实现这一点

attribute_view_gui attribute=$node.data_map.my_attribute_identifier

但我不能以这种方式为变量赋值。如何从select 属性中赋值?

【问题讨论】:

    标签: ezpublish


    【解决方案1】:

    首先,我建议您始终检查 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}" 
    />
    

    或者你可以使用默认的属性视图,如下所示:

    {attribute_view_gui attribute=$node.data_map.YOUR_ATTRIBUTE_SHORT_NAME}
    

    也可能有帮助 - 找到正确路径的方法(有时您需要在路径末尾添加 ".data_int"".data_text" 以显示数据):

    {$path|attribute(show,depth)} 示例:

    {$node|attribute(show,2)}
    

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

    【讨论】:

      【解决方案2】:

      你可能想看看 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}

      【讨论】:

      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
      • 感谢您的建议,@LeftyX!我现在添加了 ezselection.tpl 的内容。
      猜你喜欢
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      相关资源
      最近更新 更多