вівторок, 11 лютого 2014 р.

Добавление произвольных пунктов в горизонтальное меню OpenCart

Неожиданная загвоздка. Оказывается в OpenCart 1,5 нельзя добавить в верхнее горизонтальное меню ничего, кроме категорий. Для этих целей есть пара модулей, но я в них разобраться не просто, а подробного описания по ним на данный момент нет.

В результате имеем "подпил напильником"


В файле /catalog/view/theme/ваша_тема/template/common/header.tpl



находите код (112 строка)



<?php if ($categories) { ?>
<div id="menu">
<ul>
<?php foreach ($categories as $category) { ?>
<li><?php if ($category['active']) { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } ?>

<?php if ($category['children']) { ?>
<div>
<?php for ($i = 0; $i < count($category['children']);) { ?>
<ul>
<?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
<?php for (; $i < $j; $i++) { ?>
<?php if (isset($category['children'][$i])) { ?>
<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
<?php } ?>
<?php } ?>
</ul>
<?php } ?>
</div>
<?php } ?>
</li>
<?php } ?>
</ul>
</div>
<?php } ?>

В нем добавляете какие угодно ссылки. Необходимо понимать, что пункты расположены в тегах <li></li>, а подпункты почему-то в <div></div>

Например пункт с подпунктом нужно прописать так

<li>Пункт

<div> Подпункт

Подпункт

</div>

</li>

Если к примеру нужно в начале меню сделать ссылку на главную, а потом оставить категории каталога, пишите так

<?php if ($categories) { ?>

<div id="menu">

<ul>

<li><a href="/">Главная</a></li>

<?php foreach ($categories as $category) { ?>

<li><?php if ($category['active']) { ?>

<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

<?php } else { ?>

<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

<?php } ?>

<?php if ($category['children']) { ?>

<div>

<?php for ($i = 0; $i < count($category['children']);) { ?>

<ul>

<?php $j = $i + ceil(count($category['children']) / $category['column']); ?>

<?php for (; $i < $j; $i++) { ?>

<?php if (isset($category['children'][$i])) { ?>

<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>

<?php } ?>

<?php } ?>

</ul>

<?php } ?>

</div>

<?php } ?>

</li>

<?php } ?>

</ul>

</div>

<?php } ?>

Если нужно добавить после каталога, пишите типа такого

<?php if ($categories) { ?>
<div id="menu">
<ul>
<?php foreach ($categories as $category) { ?>
<li><?php if ($category['active']) { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } ?>

<?php if ($category['children']) { ?>
<div>
<?php for ($i = 0; $i < count($category['children']);)/>/> { ?>
<ul>
<?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
<?php for (; $i < $j; $i++) { ?>
<?php if (isset($category['children'][$i])) { ?>
<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
<?php } ?>
<?php } ?>
</ul>
<?php } ?>
</div>
<?php } ?>
</li>
<?php } ?><li><a href="/">Любая ссылка</a></li>
</ul>
</div>
<?php } ?>

А чтобы русский текст в браузере отображался нормально, а не "крокозябрами", сохраните header.tpl в кодировке UTF-8 (без ВОМ)

(для Notepad++ - верхнее меню кодировка/UTF-8 (без ВОМ))

Если нужно вообще убрать категории из горизонтального меню, пишите вместо

Код PHP:

<?php if ($categories) { ?>
<div id="menu">
<ul>
<?php foreach ($categories as $category) { ?>
<li><?php if ($category['active']) { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } else { ?>
<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
<?php } ?>

<?php if ($category['children']) { ?>
<div>
<?php for ($i = 0; $i < count($category['children']);) { ?>
<ul>
<?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
<?php for (; $i < $j; $i++) { ?>
<?php if (isset($category['children'][$i])) { ?>
<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
<?php } ?>
<?php } ?>
</ul>
<?php } ?>
</div>
<?php } ?>
</li>
<?php } ?>
</ul>
</div>
<?php } ?>

так

Код PHP:


<div id="menu">
<ul>
<li>ссылка</li>
<li>ссылка</li>
<li>ссылка</li>
<li>ссылка</li>
</ul>
</div>




Все парктроники по самым лучшим ценам

Немає коментарів:

Дописати коментар