Jump to content
Sign in to follow this  
meliorist2

Ограниченное количество подкатегорий в меню

Recommended Posts

Добрый день!

 

Подскажите, пожалуйста...

 

Необходимо в меню выводить главную категорию, и, например, первые 5 подкатегорий.

Начиная с 6-й, ничего не выводить, кроме слова "Еще", которое будет ссылкой на главную категорию.

 

Вот код:

 

<!-- category -->
<?php if ($option['type'] == 'category') { ?>
<?php if ($option['show_parent']) { ?>
<a href="<?php echo $option['parent']['href']; ?>" class="parent">
<?php if ($option['show_image'] && $option['parent']['image']) { ?><img src="<?php echo $option['parent']['image']; ?>" alt="<?php echo $option['parent']['name']; ?>"/><?php } ?>
<?php echo $option['parent']['name']; ?>
</a>
<?php } ?>
<?php for ($i = 0; $i < count($option['categories']);) { ?>
<ul style=" width: <?php echo $menu['column_width']; ?>px" class="column category">
 <?php $j = $i + ceil(count($option['categories']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['categories'][$i])) { ?>
<li><a href="<?php echo $option['categories'][$i]['href']; ?>">
<?php if ($option['show_image'] && $option['categories'][$i]['image']) { ?><img src="<?php echo $option['categories'][$i]['image']; ?>" alt="<?php echo $option['categories'][$i]['name']; ?>" title="<?php echo $option['categories'][$i]['name']; ?>"/><?php } ?>
<?php echo $option['categories'][$i]['name']; ?>
</a>
<?php if ($option['show_submenu']) { showSubmenu($option['categories'][$i]); } ?>
</li>
 <?php } ?>
 <?php } ?>
</ul>
<?php } ?>
<?php } ?>

 

Кто-нибудь делал подобное? Поделитесь, пожалуйста!

Share this post


Link to post
Share on other sites

код в CODE

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

<?php for ($i = 0; $i <= 5) { ?>
...

</ul>
<?php } ?>
>>

</ul>
<?php } ?>
<?php if (count($option['categories']) > 5) { ?>
<a href="<?php echo $option['parent']['href']; ?>" class="more">еще</a>
<?php } ?>

Share this post


Link to post
Share on other sites

Спасибо за быстрый ответ.

Выдает 500 ошибку (белый экран)

Может где-то лишняя или недостающая точка с запятой?

Share this post


Link to post
Share on other sites

может.

пробуйте

<?php for ($i = 0; $i <= 5;) { ?>
или поштучно части

Share this post


Link to post
Share on other sites

Это решило проблему с 500 ошибкой.

Слово "еще" с ссылкой на главную категорию появилось, но лишние подкатегории так и не убрались.

Share this post


Link to post
Share on other sites

пациента и функцию @showSubmenu()@

<?php if ($option['show_submenu']) { showSubmenu($option['categories'][$i]); } ?>
в студию!

Share this post


Link to post
Share on other sites

<?php 

if($data_template){

echo $data_template;

} else { ?>

<?php function showSubmenu($category) {

if (count($category['children']) > 0) {

echo '<div class="sub_menu"><ul>';

foreach ($category['children'] as $cat) {

echo '<li><a href="'.$cat['href'].'">'.$cat['name'].'</a>';

showSubmenu($cat);

echo '</li>';

}

echo '</ul></div>';

}

}

?>

Edited by afwollis
overquote deleted

Share this post


Link to post
Share on other sites

foreach ($category['children'] as $cat) {
>>

$cc_i = 0;
foreach ($category['children'] as $cat) {
...

echo '</li>';
>>

echo '</li>';
$cc_i++;
if ($cc_i >= 5) { break; }

Share this post


Link to post
Share on other sites
foreach ($category['children'] as $cat) {
>>

$cc_i = 0;
foreach ($category['children'] as $cat) {
...

echo '</li>';
>>

echo '</li>';
$cc_i++;
if ($cc_i >= 5) { break; }

Я, видимо, издеваюсь, но опять нет(

 

[spoiler]<?php 
if($data_template){
echo $data_template;
} else { ?>
<?php function showSubmenu($category) {
if (count($category['children']) > 0) {
echo '<div class="sub_menu"><ul>';
$cc_i = 0;
foreach ($category['children'] as $cat) {
echo '<li><a href="'.$cat['href'].'">'.$cat['name'].'</a>';
showSubmenu($cat);
echo '</li>';
$cc_i++;
if ($cc_i >= 5) { break; }
}
echo '</ul></div>';
}
}
?>
<div id="boss_menu" class="mega-menu">
  <ul>
  <?php foreach ($menus as $menu) { ?>
<li <?php if(count($menu['options'])>0){echo 'class="dropdown-arrow"'; }?>><a href="<?php echo $menu['href']; ?>"><?php echo $menu['title'] ?></a>
<?php if (count($menu['options']) > 0) { ?>
<div style="width: <?php echo $menu['dropdown_width']; ?>px;" class="dropdown">
<?php foreach ($menu['options'] as $option) { ?>
<div style="width: <?php echo $option['width']; ?>px; float: left" class="option">
<!-- manufacturer -->
<?php if ($option['type'] == 'manufacturer') { ?>
<?php for ($i = 0; $i < count($option['manufacturers']);) { ?><ul style=" width: <?php echo $menu['column_width']; ?>px" class="column manufacturer">
 <?php $j = $i + ceil(count($option['manufacturers']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['manufacturers'][$i])) { ?>
<li><a href="<?php echo $option['manufacturers'][$i]['href']; ?>">
<?php if ($option['show_image']) { ?><img src="<?php echo $option['manufacturers'][$i]['image']; ?>" alt="<?php echo $option['manufacturers'][$i]['name']; ?>" title="<?php echo $option['manufacturers'][$i]['name']; ?>"/><?php } ?>
<?php if ($option['show_name']) { ?><?php echo $option['manufacturers'][$i]['name']; ?><?php } ?>
</a></li>
 <?php } ?>
 <?php } ?>
</ul><?php } ?>
<?php } ?>
<!-- category -->
<?php if ($option['type'] == 'category') { ?>
<?php if ($option['show_parent']) { ?>
<a href="<?php echo $option['parent']['href']; ?>" class="parent">
<?php if ($option['show_image'] && $option['parent']['image']) { ?><img src="<?php echo $option['parent']['image']; ?>" alt="<?php echo $option['parent']['name']; ?>"/><?php } ?>
<?php echo $option['parent']['name']; ?>
</a>
<?php } ?>
<?php for ($i = 0; $i <= 5;) { ?>
<ul style=" width: <?php echo $menu['column_width']; ?>px" class="column category">
 <?php $j = $i + ceil(count($option['categories']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['categories'][$i])) { ?>
<li><a href="<?php echo $option['categories'][$i]['href']; ?>">
<?php if ($option['show_image'] && $option['categories'][$i]['image']) { ?><img src="<?php echo $option['categories'][$i]['image']; ?>" alt="<?php echo $option['categories'][$i]['name']; ?>" title="<?php echo $option['categories'][$i]['name']; ?>"/><?php } ?>
<?php echo $option['categories'][$i]['name']; ?>
</a>
<?php if ($option['show_submenu']) { showSubmenu($option['categories'][$i]); } ?>
</li>
 <?php } ?>
 <?php } ?>
</ul>
<?php } ?>
<?php if (count($option['categories']) > 5) { ?>
<a href="<?php echo $option['parent']['href']; ?>" class="more">Еще</a>
<?php } ?>
<?php } ?>
<!-- information -->
<?php if ($option['type'] == 'information') { ?>
<?php for ($i = 0; $i < count($option['informations']);) { ?>
<ul style="width: <?php echo $menu['column_width']; ?>px" class="column information">
 <?php $j = $i + ceil(count($option['informations']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['informations'][$i])) { ?>
<li><a href="<?php echo $option['informations'][$i]['href']; ?>"><?php echo $option['informations'][$i]['title']; ?></a></li>
 <?php } ?>
 <?php } ?>
</ul>
<?php } ?>
<?php } ?>
<!-- static block -->
<?php if ($option['type'] == 'static_block') { ?>
<div class="staticblock"><?php echo $option['description']; ?></div>
<?php } ?>
<!-- product -->
<?php if ($option['type'] == 'product') { ?>
<?php for ($i = 0; $i < count($option['products']);) { ?><ul style="display: table-cell; width: <?php echo $menu['column_width']; ?>px" class="column product">
 <?php $j = $i + ceil(count($option['products']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['products'][$i])) { ?>
<li>
<?php if ($option['products'][$i]['thumb']) { ?><a href="<?php echo $option['products'][$i]['href']; ?>"><img src="<?php echo $option['products'][$i]['thumb']; ?>" alt="<?php echo $option['products'][$i]['name']; ?>" title="<?php echo $option['products'][$i]['name']; ?>"/></a><?php } ?><div class="boss_info">
<div class="name">
<a href="<?php echo $option['products'][$i]['href']; ?>"><?php echo $option['products'][$i]['name']; ?></a>
</div>
<?php if ($option['products'][$i]['rating']) { ?>
 <div class="rating"><img src="catalog/view/theme/bt_babystore/image/stars-<?php echo $option['products'][$i]['rating']; ?>.png" alt="" /></div>
 <?php } ?>
 <div class="description"><?php echo $option['products'][$i]['description']; ?></div>
<?php if (!$option['products'][$i]['special']) { ?>
<span class="price"><?php echo $option['products'][$i]['price']; ?></span>
<?php } else { ?>
<span class="price-old"><?php echo $option['products'][$i]['price']; ?></span> <span class="price-new"><?php echo $option['products'][$i]['special']; ?></span>
<?php } ?>
</div>
</li>
 <?php } ?>
 <?php } ?></ul>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
</div>
<?php } ?>
</li>
  <?php } ?>
  </ul>
</div>
 <?php } ?>[/spoiler]

Share this post


Link to post
Share on other sites

Ура! Последний вариант сработал, правда только применился к под-под-категориям.

А как его применить к под-категориям?

Share this post


Link to post
Share on other sites

У меня примерно такая же задача... нужно чтобы показывалось 7 главных категорий в меню, а если их больше 7 - то последним было слово "Еще" и под ним в выпадающем меню остальные категории.

 

Помогите пожалуйста. 

 

Вот код

			<?php if ($categories) { ?>
			<?php $a=1; foreach ($categories as $category) { if ($a<8) { ?>
			<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name'];?></a>

			<?php if ($category['children']) { ?>
				<!-- SubMenu -->
				
				<div class="sub-menu column-<?php echo $category['column']; ?>">
					<ul>
						
						<?php $i = 0; for (; $i < count($category['children']); $i++) { ?>
						<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a>
							
							<?php if(isset($category['children'][$i]['category_id'])) { ?>
								<?php $categories_2 = $this->model_catalog_category->getCategories($category['children'][$i]['category_id']);
								if($categories_2) { ?>
								<br />
								<!-- SubMenu -->
								
								<div class="sub-menu">
									<ul>
										
										<?php foreach ($categories_2 as $category_2) { ?>
										<li><a href="<?php echo $this->url->link('product/category', 'path='.$category['category_id'].'_' . $category['children'][$i]['category_id'] . '_' . $category_2['category_id']); ?>"><?php echo $category_2['name']; ?></a></li>
										<?php } ?>	
									
									</ul>

								</div>
								
								<!-- End SubMenu -->
								
								<?php } ?>
							<?php } ?>
						
						</li>

						<?php } ?>
					
					</ul>

				</div>
				
				<!-- End SubMenu -->
				
				<?php } ?>
			
			</li>
			<?php } $a++; } ?>
			<?php } ?>

Сейчас просто отображается 7 категорий, а остальные просто не видны в меню.

Edited by sergeybelov

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By MisterUnknown
      Здравствуйте. Подскажите пожалуйста, как я могу убрать вывод подкатегорий в конкретной категории.
      Имеется страница с товарами поставщиков, и вот категории поставщиков нужно скрыть с сайта, а чтоб на остальных категориях подкатегории оставались.
      P.S Прикреплю фотографию того, как выглядят подкатегории.

    • By vlkombat
      400.00 руб
      Скачать/Купить дополнение


      Баннеры произвольно среди товаров и категорий
      Модуль позволяет:
      Вывести среди товаров, и подкатегорий баннеры с произвольным расположением в сетке - после n-го товара, или подкатегории.  Баннеры можно вывести среди товаров (подкатегорий) на всю ширину, или часть ширины страницы, разместив рядом произвольное число товаров.  Вывести слайдер, или одиночное изображение на странице категории Можно задать свои CSS классы и оформить в таблице стилей Есть версия с поддержкой многоязычности Установка
      Стандартно, через ocmod. В процессе установки в БД добавляется таблица "category_images".
       
      Панель управления (admin/)
      Версия 1:
      Все баннеры добавляются в карточке категории (все русифицировано, тестовый сайт без перевода):

       
      Для каждого баннера можно задать заголовок, описание, ссылку, размеры, CSS классы. 
      В полях "После категории" и "После товара" - задается порядковый номер подкатегории/товара на странице, после которого будет отображаться баннер. Если задать отрицательное значение, баннер будет выведен в самом начале. Если оставить поле не заполненным ("0") - будет отображено либо одиночное изображение вверху, либо слайдер (зависит от количества изображений).
      После одной категории, товара можно добавить только один баннер. До категорий, товаров может быть добавлено сколько угодно баннеров (вначале будут выведены баннеры в порядке сортировки, затем товары, категории).
       
      Версия 2

       
      Только в версии 2:
      Баннером может быть как отдельное изображение, так и заранее подготовленные баннеры в "Дизайн->Баннеры"
      Если выбрать заранее подготовленные изображения, их можно отобразить или в виде слайдшоу, или показывать один из них рандомно.
      Для каждого баннера можно указать страницы для вывода
       
      Пример:

      Здесь первый баннер будет выведен вверху страницы, отдельно. Желательно задать ему размеры. Если размер не задан, будет использован полный размер изображения (как есть).
      Второй баннер будет выведен после третьего товара, с заголовком, ссылкой, описанием. Если размеры не заданы, будут использованы стандартные для товара
      Третий баннер будет выведен после третей категории в списке. Размеры изображения или произвольные, или будет использован размер изображения категории (из настроек). 
      Размеры изображений категорий отдельно задать нельзя, но можно использовать для этого заданный размер любого баннера, достаточно отметить чекбокс "+ для категорий" (+ to img category), если ничего не отмечено - используются размеры изображения категории.
       
      Пользовательская часть (catalog/)
      Модификации подвергаются: модель, контроллер и шаблон категории. 
      Изменения в контроллер и шаблон (особенно шаблон) рекомендую вносить вручную, для большей гибкости.
      К тому же, если в контроллере какие-либо проблемы связанные с конфликтом модификаторов, или ошибки маловероятны, то в шаблоне может быть множество других изменений (скорее всего есть), а соответственно возможна некорректная модификация.
      Модификатор проверен с использованием стандартного шаблона - все работает.
      В шаблоне добавляется два блока вначале, там где идет проверка на наличие подкатегорий. Баннеры можно выводить независимо от того, есть ли дочерние категории, если же для категории не указано ни одного баннера в подкатегориях, их вывод будет стандартным.
      В блоке товара так же есть небольшие изменения - если на месте товара выведен баннер, то скрываются стандартные кнопки и при наличии ссылки появляется "подробнее". Если ссылка не задана - она обирается с заголовка и изображения.
      Собственных таблиц стилей модификатор не содержит (что бы не ухудшить скорость загрузки страницы). Для более-менее корректного отображения рекомендую добавить в .css файл темы следующее:
      .cat-list .item {height: 300px;overflow: hidden;text-align: center;position: relative;background: #fff;margin-bottom: 15px;box-shadow: 0px 2px 7px #b5b5b5;     border-radius: 4px;} .cat-list .item img {position:relative;z-index: 1;} .cat-list .item .title {text-decoration: none;color: #000;font-size: 15px;} .cat-list .item .desc {position: absolute;z-index: 2;background: #f7f5f5a6;padding: 10px;left:0px;bottom:0px;width: 100%;box-sizing: border-box;} .cat-list .float .item {padding-left: 0px;text-align: center;} .cat-list .float .item .desc {background: none;position: static;text-align: right;} .cat-list .item .count {position: absolute;top: 0px;right: 0px;font-size: 14px;     background: #5a5a5a;color: #fff;height: 20px;line-height: 20px;     width: 20px;text-align: center;border-radius: 20px;} .cat-list .float .item img {float: left;margin-right: 10px;} .button-group .btp-href {background-color: #eee;color: #888;line-height: 38px;font-weight: bold;border: 0px;text-transform: uppercase;display: block;text-align: center;} Класс "float" можно использовать для широких баннеров, где слева будет изображение, справа текст.
       
      По модификации блока товара в шаблоне категории. Сразу после
      <?php foreach ($products as $product) { ?> добавляется проверка - товар это, или баннер. Чуть выше пагинации проверка заканчивается. Для поиска используется вот такой способ:
       <search><![CDATA[<?php echo $pagination; ?>]]></search>       <add position="before" offset="3"> В стандартном шаблоне место вставки выглядит так:

      Если у вас есть несовпадение, можно получить или ошибку 500, или съехавшую верстку. 
      В остальном все должно быть нормально, если что - поправимо.
       
      Начиная с версии 1.0 баннеры среди товаров можно выделять в отдельные контейнеры, куда так же можно добавлять и товары (разрыв в списке товаров). Как это работает - на видео:

      httpm_banner_cat_akcii.mp4  
      ОСОБЕННОСТИ для Opencart 1.5
       В опенкарт 1.5 скрипты на странице категории работают с '.product-list > div' и '.product-grid > div', потому для блока с баннером использовал тэг "section".
      В CSS где встречается .product-list > div и .product-grid > div нужно добавить section, что бы получилось:
      .product-list > div, .product-list > section {.......} .product-list > div + div, .product-list > section + div {.......} .product-grid > div, .product-grid > section {.......} #column-left + #column-right + #content .product-grid > div, #column-left + #column-right + #content .product-grid > section {.......}  
      DEMO
      Пример категории, с баннером среди товаров, баннерами среди категорий, а так же слайдшоу вверху
      Панель управления
      Логин/пароль: demo/demo
       
      ОПИСАНИЕ БУДЕТ ДОПОЛНЕНО
       
      Добавил vlkombat Добавлено 13.08.2018 Категория Цены, скидки, акции, подарки Системные требования Сайт разработчика https://httpmaster.ru/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.1
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6 ocStore 2.3 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
    • By vlkombat
      Модуль позволяет:
      Вывести среди товаров, и подкатегорий баннеры с произвольным расположением в сетке - после n-го товара, или подкатегории.  Баннеры можно вывести среди товаров (подкатегорий) на всю ширину, или часть ширины страницы, разместив рядом произвольное число товаров.  Вывести слайдер, или одиночное изображение на странице категории Можно задать свои CSS классы и оформить в таблице стилей Есть версия с поддержкой многоязычности Установка
      Стандартно, через ocmod. В процессе установки в БД добавляется таблица "category_images".
       
      Панель управления (admin/)
      Версия 1:
      Все баннеры добавляются в карточке категории (все русифицировано, тестовый сайт без перевода):

       
      Для каждого баннера можно задать заголовок, описание, ссылку, размеры, CSS классы. 
      В полях "После категории" и "После товара" - задается порядковый номер подкатегории/товара на странице, после которого будет отображаться баннер. Если задать отрицательное значение, баннер будет выведен в самом начале. Если оставить поле не заполненным ("0") - будет отображено либо одиночное изображение вверху, либо слайдер (зависит от количества изображений).
      После одной категории, товара можно добавить только один баннер. До категорий, товаров может быть добавлено сколько угодно баннеров (вначале будут выведены баннеры в порядке сортировки, затем товары, категории).
       
      Версия 2

       
      Только в версии 2:
      Баннером может быть как отдельное изображение, так и заранее подготовленные баннеры в "Дизайн->Баннеры"
      Если выбрать заранее подготовленные изображения, их можно отобразить или в виде слайдшоу, или показывать один из них рандомно.
      Для каждого баннера можно указать страницы для вывода
       
      Пример:

      Здесь первый баннер будет выведен вверху страницы, отдельно. Желательно задать ему размеры. Если размер не задан, будет использован полный размер изображения (как есть).
      Второй баннер будет выведен после третьего товара, с заголовком, ссылкой, описанием. Если размеры не заданы, будут использованы стандартные для товара
      Третий баннер будет выведен после третей категории в списке. Размеры изображения или произвольные, или будет использован размер изображения категории (из настроек). 
      Размеры изображений категорий отдельно задать нельзя, но можно использовать для этого заданный размер любого баннера, достаточно отметить чекбокс "+ для категорий" (+ to img category), если ничего не отмечено - используются размеры изображения категории.
       
      Пользовательская часть (catalog/)
      Модификации подвергаются: модель, контроллер и шаблон категории. 
      Изменения в контроллер и шаблон (особенно шаблон) рекомендую вносить вручную, для большей гибкости.
      К тому же, если в контроллере какие-либо проблемы связанные с конфликтом модификаторов, или ошибки маловероятны, то в шаблоне может быть множество других изменений (скорее всего есть), а соответственно возможна некорректная модификация.
      Модификатор проверен с использованием стандартного шаблона - все работает.
      В шаблоне добавляется два блока вначале, там где идет проверка на наличие подкатегорий. Баннеры можно выводить независимо от того, есть ли дочерние категории, если же для категории не указано ни одного баннера в подкатегориях, их вывод будет стандартным.
      В блоке товара так же есть небольшие изменения - если на месте товара выведен баннер, то скрываются стандартные кнопки и при наличии ссылки появляется "подробнее". Если ссылка не задана - она обирается с заголовка и изображения.
      Собственных таблиц стилей модификатор не содержит (что бы не ухудшить скорость загрузки страницы). Для более-менее корректного отображения рекомендую добавить в .css файл темы следующее:
      .cat-list .item {height: 300px;overflow: hidden;text-align: center;position: relative;background: #fff;margin-bottom: 15px;box-shadow: 0px 2px 7px #b5b5b5;     border-radius: 4px;} .cat-list .item img {position:relative;z-index: 1;} .cat-list .item .title {text-decoration: none;color: #000;font-size: 15px;} .cat-list .item .desc {position: absolute;z-index: 2;background: #f7f5f5a6;padding: 10px;left:0px;bottom:0px;width: 100%;box-sizing: border-box;} .cat-list .float .item {padding-left: 0px;text-align: center;} .cat-list .float .item .desc {background: none;position: static;text-align: right;} .cat-list .item .count {position: absolute;top: 0px;right: 0px;font-size: 14px;     background: #5a5a5a;color: #fff;height: 20px;line-height: 20px;     width: 20px;text-align: center;border-radius: 20px;} .cat-list .float .item img {float: left;margin-right: 10px;} .button-group .btp-href {background-color: #eee;color: #888;line-height: 38px;font-weight: bold;border: 0px;text-transform: uppercase;display: block;text-align: center;} Класс "float" можно использовать для широких баннеров, где слева будет изображение, справа текст.
       
      По модификации блока товара в шаблоне категории. Сразу после
      <?php foreach ($products as $product) { ?> добавляется проверка - товар это, или баннер. Чуть выше пагинации проверка заканчивается. Для поиска используется вот такой способ:
       <search><![CDATA[<?php echo $pagination; ?>]]></search>       <add position="before" offset="3"> В стандартном шаблоне место вставки выглядит так:

      Если у вас есть несовпадение, можно получить или ошибку 500, или съехавшую верстку. 
      В остальном все должно быть нормально, если что - поправимо.
       
      Начиная с версии 1.0 баннеры среди товаров можно выделять в отдельные контейнеры, куда так же можно добавлять и товары (разрыв в списке товаров). Как это работает - на видео:

      httpm_banner_cat_akcii.mp4  
      ОСОБЕННОСТИ для Opencart 1.5
       В опенкарт 1.5 скрипты на странице категории работают с '.product-list > div' и '.product-grid > div', потому для блока с баннером использовал тэг "section".
      В CSS где встречается .product-list > div и .product-grid > div нужно добавить section, что бы получилось:
      .product-list > div, .product-list > section {.......} .product-list > div + div, .product-list > section + div {.......} .product-grid > div, .product-grid > section {.......} #column-left + #column-right + #content .product-grid > div, #column-left + #column-right + #content .product-grid > section {.......}  
      DEMO
      Пример категории, с баннером среди товаров, баннерами среди категорий, а так же слайдшоу вверху
      Панель управления
      Логин/пароль: demo/demo
       
      ОПИСАНИЕ БУДЕТ ДОПОЛНЕНО
       
    • By Facebook
      Добрый день. Интересует такой вопрос :
      В шаблоне используется вывод изображений для подкатегорий. Необходимо чтобы оно выводилось только если задано, без заглушки.

       
      Это нужно в том случае когда например идут основные категории бренды (тут нужен логотип) и далее идут коллекции и серии (тут изображение не нужно) Поэтому вывод будет уместен без заглушек.
       
      В файле /catalog/view/theme/имя_шаблона/template/product/category.tpl за это отвечает код 
      <div class="subcats-row"> <div id="subcats"> <?php foreach ($categories as $category) { ?> <div class="item subcat-box col-md-2 col-sm-3 col-xs-6"> <a href="<?php echo $category['href']; ?>" title="<?php echo $category['name']; ?>"> <img class="img-responsive" src="<?php echo $category['thumb']; ?>" alt="<?php echo $category['name']; ?>" /> <span><?php echo $category['name']; ?></span> </a> </div> <?php } ?> </div> <div class="clearfix"></div> </div> Я понимаю что можно указать в этом же куске кода условие ТИПА
      <?php if ($category['thumb']) { ?> <img class="img-responsive" src="<?php echo $category['thumb']; ?>" alt="<?php echo $category['name']; ?>" /> <?php } ?> Но тут не работает переменная $category['thumb']  пробовал и другие тоже ($thumb, $image), просто убирает все изображение. Пошел в контроллер /catalog/controller/product/category.php  и там за это отвечает кусок кода 
      if ($category_info['image']) { $data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')); $this->document->setOgImage($data['thumb']); } else { $data['thumb'] = ''; }  
      ВОПРОС: Как правильно это реализовать, условием. Какую переменную в ней использовать чтобы оно работало. 
    • By sergeewna
      Не могу добавить товары в подкатегории, в админке их видно, а в фильтрах нет, там видно только родительские категории.
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.