eZ Publish: секреты главного меню

eZ Publish: секреты главного меню

Это тот самый случай, когда лучше показать код, чем говорить:

{def $menu = fetch(content, list, hash(
  parent_node_id, $menu_node_id,
  sort_by, array('priority', true()),
  class_filter_type, 'include',
  class_filter_array, array('hr_page')
))}

{def $last_index = $menu|count()}
{set $last_index = $last_index|dec()}

{foreach $menu as $item}
  <li>
    <a {if or(eq($node.node_id, $item.node_id), 
              eq($node.parent.node_id, $item.node_id), 
              eq($node.parent.parent.node_id, $item.node_id), 
              eq($node.parent.parent.parent.node_id, $item.node_id))}class="active"{/if} 
            href={if ne($item.url_alias, 'home')}{$item.data_map.url.content|ezurl()}
         {else}
           "/"
         {/if}>{$item.data_map.name.content}</a>

         {if ne($item.node_id, $menu.$last_index.node_id)}|{/if}
  </li>
{/foreach}

Вот такой незамысловатый код мы писали, когда делали наши первые проекты на eZ Publish. Он возможно не самый красивый и элегантный, но вполне себе рабочий и эффективный.

Хорошего дня!

Комментарии

Оставить комментарий

Теги:

В России:

Дорогой сердцу Hadrout (Гэдрут) в России. Проекты, клиенты, мысли и эмоции нашей команды.

В Америке:

Наш далекий и в тоже время очень близкий Hadrout в Америке. Те же клиенты и проекты, но уже немного другие мысли и совсем другой вид из окна.