Поместите основную навигацию в содержимое домашней страницы вертикально


Я только что разработал веб-сайт для клиента, и мне нужна ваша помощь с основной навигацией Magento. Просто чтобы уточнить, я имею в виду меню навигации, в котором после добавления отображаются категории 1-го уровня, которые расположены горизонтально в заголовочном файле, а не в верхних ссылках.

Мне нужно переместить эту навигацию в div в содержимом домашней страницы, если это возможно. Я не могу использовать для этого левую боковую панель, потому что основное содержимое будет размещено под навигацией, а также на остальной части страницы. Как бы я делаю это?

Я могу возиться с CSS, чтобы поместить его в вертикальный список, но сначала нужно просто перейти к основному контенту!

Спасибо

Author: Tom Burman, 2014-01-24

2 answers

Я бы предложил использовать unsetChild и insert вместо remove, а затем снова создать блок. Как ни странно, unsetChild использует псевдоним блока, установленный через as, но insert использует имя блока.

<default>
    <reference name="header">
        <action method="unsetChild"><name>topMenu</name></action>
    </reference>
    <reference name="content">
        <action method="insert"><name>top.menu</name></action>
    </reference>
</default>

Использование вставки также дает вам больше возможностей в отношении позиционирования блока и т. Д., Поскольку вы можете передать еще несколько параметров.

public function insert($block, $siblingName = '', $after = false, $alias = '')

ПРИМЕЧАНИЕ: основные функции, которые вы можете использовать с помощью xml-макета, можно найти в Mage_Core_Block_Abstract

 3
Author: David Manners, 2014-01-24 20:34:18

Использование вашего макета local.xml , вы хотите сделать что-то вроде этого:

<default>                   
<reference name="header">
    <remove name="top.menu" />
</reference>            
<reference name="left">
        <block type="core/text_list" name="left.menu" before="-" translate="label">
            <label>Navigation Bar</label>
            <block type="page/html_topmenu" name="catalog.topnav" template="page/html/topmenu.phtml"/>
        </block>
</reference>

Удалите блок top.menu из заголовка и добавьте его слева. Конечно, он может перейти в основной, если вы не хотите использовать левый. Код - это всего лишь пример того, как это можно сделать, - он не предназначен для точной копии и вставки.

Код с моей правкой сработал для меня:

enter image description here

 0
Author: Ben Truby, 2014-01-24 19:57:42