eZ Publish: Jak pobrać wybrane wartości atrybutu typu “selection”?

2012-06-26 eZ Publish

Jak w eZ Publish wyświetlić w szablonie opcje które wybraliśmy z listy rozwijanej pojedynczego bądź wielokrotnego wyboru?

Poniższy kod przypisuje odpowiednią wartość do zmiennej w zależności od wybranej opcji z formularza <option> / <select>. Przykład z wykorzystaniem atrybutu o typie:

selection

nazwanego:

color

Treść kodu w szablonie:

{def $selected_id_array=$node.data_map.color.content}
{foreach $node.data_map.color.class_content.options as $option}
   {if $selected_id_array|contains( $option.id )}
      {def $value = $option.name|wash( xhtml )}
   {/if}
{/foreach}

Dalsze przypisanie w switch'u:

{switch match=$value}
{case match='Różowy'}
   {def $color = 'pink'}
{/case}
{case match='Zielony'}
   {def $color = 'green'}
{/case}
{case match='Niebieski'}
   {def $color = 'blue'}
{/case}
{case match='Żółty'}
   {def $color = 'yellow'}
{/case}
{case match='Fioletowy'}
   {def $color = 'violet'}
{/case}
{case match='Pomarańczowy'}
   {def $color = 'orange'}
{/case}
{case}
{* wybor domyslny *}
   {def $color = 'yellow'}
{/case}
{/switch}

Poniżej przykład użycia zmiennej w szablonie tpl w formie klasy dla znacznika:

class="box-{$color} box-title"

A oto jak zdefiniowane zostały opcje przez administratora:

eZ-Publish-wartosci-atrybutu-selection

Do NOT follow this link or you will be banned from the site!