Перейти к содержанию
Alexey0304

Отображение подкатегорий в горизонтальном меню Версия 1.5.5.1.2

Рекомендуемые сообщения

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

post-685943-0-02617000-1407867774_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

catalog\view\theme\ВАША_УСТАНОВЛЕННАЯ_ТЕМА\template\common\header.tpl

код

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь не отображаются даже категории. Я может объяснил плохо, но хотелось бы чтобы если в админке стоит кол-во колонок "0" то подкатегории бы не выводились, а категория была активна, а если в админке кол-во колонок > 0, то подкатегории бы выводились

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Категории не отображаются от кривых ручонок, которые не поставили в категории галочку отображения в главном меню

По вопросу об отображении подкатегорий то тут надо прописывать условие...из первого поста и скрина я лично не понял что подразумевался 0 в количестве столбцов...но это от того что я неграмотный с деревни, остальным то сразу стало понятно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пардон за такое объяснение, руки тоже не совершенство)) Если не сложно, то помогите с условием.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про руки я не свои вообще то, а те что в админке своего магазина в настройке категории не поставил галочку в "отображать в главном меню" тогдаб с тем кодом что я дал категории отобразились бы

По поводу условия если за ночь ни кто не отпишется скину реализацию, ибо до завтра на работе основной, а с телефона писать код не умею, моему ретросамсунгу это не по силам так же

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

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


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

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

      Здесь первый баннер будет выведен вверху страницы, отдельно. Желательно задать ему размеры. Если размер не задан, будет использован полный размер изображения (как есть).
      Второй баннер будет выведен после третьего товара, с заголовком, ссылкой, описанием. Если размеры не заданы, будут использованы стандартные для товара
      Третий баннер будет выведен после третей категории в списке. Размеры изображения или произвольные, или будет использован размер изображения категории (из настроек). 
      Размеры изображений категорий отдельно задать нельзя, но можно использовать для этого заданный размер любого баннера, достаточно отметить чекбокс "+ для категорий" (+ 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
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6 ocStore 2.3
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1 OpenCart.Pro, ocShop Не проверялось  
    • От vlkombat
      Модуль позволяет:
      Вывести среди товаров, и подкатегорий баннеры с произвольным расположением в сетке - после n-го товара, или подкатегории.  Баннеры можно вывести среди товаров (подкатегорий) на всю ширину, или часть ширины страницы, разместив рядом произвольное число товаров.  Вывести слайдер, или одиночное изображение на странице категории Можно задать свои CSS классы и оформить в таблице стилей Есть версия с поддержкой многоязычности Установка
      Стандартно, через ocmod. В процессе установки в БД добавляется таблица "category_images".
       
      Панель управления (admin/)
      Все баннеры добавляются в карточке категории (все русифицировано, тестовый сайт без перевода):

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

      Здесь первый баннер будет выведен вверху страницы, отдельно. Желательно задать ему размеры. Если размер не задан, будет использован полный размер изображения (как есть).
      Второй баннер будет выведен после третьего товара, с заголовком, ссылкой, описанием. Если размеры не заданы, будут использованы стандартные для товара
      Третий баннер будет выведен после третей категории в списке. Размеры изображения или произвольные, или будет использован размер изображения категории (из настроек). 
      Размеры изображений категорий отдельно задать нельзя, но можно использовать для этого заданный размер любого баннера, достаточно отметить чекбокс "+ для категорий" (+ 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
       
      ОПИСАНИЕ БУДЕТ ДОПОЛНЕНО
    • От sergeewna
      Не могу добавить товары в подкатегории, в админке их видно, а в фильтрах нет, там видно только родительские категории.
    • От wowez
      Здравствуйте, вот вопрос в чем есть модуль категорий, я вот сделал вот так http://avtoex.mcdir.ru/ (слева "каталог товаров") и при наведении показывается меню второго уровня и я хочу сделать что бы стрелочки были только у тех категорий у которых есть подкатегроии 2-го уровня вот сейчас выводится так 
      <?php foreach ($categories as $category) { ?> <?php if ($category['category_id'] ) { ?> <a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?><i class="fa fa-angle-right rightone" aria-hidden="true"></i></a>  
      я так понимаю надо написать что то вроде
       
      <?php foreach ($categories as $category) { ?> <?php if ($category['category_id'] ) { ?> <a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?></a> <?php } else { ?> <?php ($category['category_id'] == $category['children'] ) { ?> <a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?><i class="fa fa-angle-right rightone" aria-hidden="true"></i></a>  
      Ну да я не очень в php, ну подскажите как это сделать.
      То есть это то же самое что вывести только те категории если есть у них подкатегории.
      Будьте добры.
       
       
       
       
       
       
       
    • От nikeforce111
      Добрый день, ищу модуль скидки. Хотелось чтобы отображалось две цены новая и старая как, если товар покупается в рассрочку(кредит), расчет должен идти от старой цены(которая без скидки)
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.