Перейти к содержанию
Официальный форум поддержки Simpla

Выводить не все дерево категорий


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

У меня основных категорий планируется около 15, а категорий 2-го уровня около 50... 3-го даже не знаю. Товара очень много.

Можно как-то выводить сначала меню с 1й категорией? Потом по нажатию на пункт выводить категории 2 уровня :)

Сначала:
- Столы
- Стулья
- Диваны

Потом:
- Столы
-- Деревянные
-- Металлические
-- Пластиковые
- Стулья
- Диваны

и Потом:
- Столы
-- Деревянные
-- Металлические
--- Титановые
--- Молибденовые
--- Свинцовые
-- Пластиковые
- Стулья
- Диваны

Заранее спасибо :)

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

Да, конечно так можно.

В файле index.tpl при выводе меню категорий добавьте условие:

вместо

{fun name=categories_tree categories=$c->subcategories}


напишите

{if in_array($category->category_id, $c->subcats_ids)}
{fun name=categories_tree categories=$c->subcategories}
{/if}

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

Для более ранних условие аналогично, а внутри условия вместо вызова функции нужно сделать include. Короче говоря, просто добавить условие перед рекурсивным вызовом

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

При изменении {fun name=categories_tree categories=$c->subcategories}

на {if in_array($category->category_id, $c->subcats_ids)}
{fun name=categories_tree categories=$c->subcategories}
{/if}
На сайте отображаються категории первого уровня, при нажатии на которые появляються категории второго уровня, а вот категории 3 уровня к сожелению так и не отобразились, каким образом возможно это исправить ?

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

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

у меня только в categories.tpl можно менять, но там нет такого условия, а только:

{if $categories}
<ul class="catalog_menu">
{foreach item=c from=$categories}
{if $category->category_id != $c->category_id}
<li><a href='catalog/{$c->url}' tooltip='category' category_id='{$c->category_id}'>{$c->name}</a></li>
{else}
<li><span tooltip='category' category_id='{$c->category_id}'>{$c->name}</span></li>
{/if}
{include file=categories.tpl categories=$c->subcategories}
{/foreach}
</ul>
{/if}

и что тут поменять надо?

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

Уважаемая администрация к сожелению очень далек в php. Помогите пожалуйста разобраться как реализовать меню как на http://101.net.ua заранее спасибо.

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

Теперь как описано в начале:

вместо

{fun name=categories_tree categories=$c->subcategories}


напишите

{if in_array($category->category_id, $c->subcats_ids)}
{fun name=categories_tree categories=$c->subcategories}
{/if}

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...
  • 5 недель спустя...

на денвере все работает, а на хосте косяк:
при выборе любой подкатегории или товара в ней, корневой список категорий сворачивается...
куда копать?

Ссылка на сообщение
Поделиться на другие сайты
  • 3 месяца спустя...

В этом варианте для раскрытия списка подкатегорий требуется перезагрузка страницы. Если добавить java, можно сделать все без перезагрузки и без PHP5.

Помогите вывести меню каталога в таком виде:
<!-- Меню каталога /-->
<div id="catalog_menu">
{defun name=categories_tree categories=$categories}
{if $categories}
<ul id="menu">
{foreach item=c from=$categories}
{if $category->category_id != $c->category_id}
<li><a href='#' tooltip='category' category_id='{$c->category_id}'>НАЗВАНИЕ КАТЕГОРИИ</a>
<ul>
<li>
<a href='catalog/ЮРЛ_ПОДКАТЕГОРИИ' tooltip='category' category_id='{$c->category_id}'>НАЗВАНИЕ ПОДКАТЕГОРИИ</a>
</li>
</ul>
</li>
...
{/foreach}
</ul>
{/if}
{/defun}
</div>
<!-- Меню каталога #End /-->

Ссылка на урок, как сделать раскрывающееся меню на jquery - http://ruseller.com/lessons.php?rub=32&id=209

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Как сделать раскрывающейся список так, чтобы показывало подкатегории?
Пишу

<a href='javascript: Sim_Sim_Otkroysya()'><span>+</span></a>

Сам скрипт

<script type="text/javascript">
{literal}
<!--
function Sim_Sim_Otkroysya()
{
var obj=document.getElementById('Sim_Sim');
if(obj.style.display=='none')
obj.style.display='block';
else
obj.style.display='none';
}
-->
{/literal}
</script>

Вот то что должно раскрываться

<div name=Sim_Sim id=Sim_Sim style='text-indent:15pt;display:none'>
{fun name=categories_tree categories=$c->subcategories}
</div>

Но получается так, что раскрывается только в первой категории подкатегории, если клацнуть на плюсик в другой категории то все равно раскроются подкатегории в первой категории, а это косяк.

Имхо в движке категории как-то криво организованы.

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

up
предложенный админом способ работает только на виртуальном Денвере,
на реальном хосте не работает (сразу сворачивается дерево при первом-же клике) PHP5, все должно работать, но нет...
У кого какие есть работающие решения?
Уже ровно 1 год стоит вопрос и он не решен....

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

по вашим просьбам пишу как реализовать данное меню!

1. Добавляем во все файлы кроме catalog.tpl (все файлы которые вы видите в админке в разделе дизайн=>шаблоны) 3 простых строчки

<script type="text/javascript" src="design/{$settings->theme}/jquery.js"></script>
<script type="text/javascript" src="design/{$settings->theme}/jquery.cookie.js"></script>
<script type="text/javascript" src="design/{$settings->theme}/shop152.js"></script>

естественно между тегами <head></head>, если где то их не увидите то просто в начале страницы!

2. заливаем 3 файла по ftp в дирректорию шаблона на котором вы хотите использовать данное меню, у меня это шаблон euro!(скачать их можно по этой ссылке shop152.ru/shop152.zip)

3. в файле index.tpl находим кусочек кода который отвечает за меню он выглядит примерно так:
<!-- Меню каталога /-->
<div class="block"><div class="block_top"><div class="block_bottom">
{defun name=categories_tree categories=$categories}
{if $categories}
<ul class="catalog_menu">
{foreach item=c from=$categories}
{if $category->category_id != $c->category_id}
<li><a href='catalog/{$c->url}' tooltip='category' category_id='{$c->category_id}'>{$c->name}</a></li>
{else}
<li><span tooltip='category' category_id='{$c->category_id}'>{$c->name}</span></li>
{/if}
{fun name=categories_tree categories=$c->subcategories}

{/foreach}
</ul>
{/if}
{/defun}
</div></div></div>
<!-- Меню каталога #End /-->


в нем нас интересует строчка <ul class="catalog_menu"> ее заменям на <ul id="my-menu" class="catalog_menu">

Вуаля меню стало похоже на то что меня на сайте. можно поиграться с ксс и довести его до ума...

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...