Помощь Simpla CMS Помогите сделать разворачивающиеся меню категории

{if $c->visible}
<li class="level{$level}">
<a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a>
{if $c->subcategories}
<ul class="level{$level}">
<li class='list_column'>
<ul class='list_in_column'>
{categories_tree categories=$c->subcategories level=$level+1}

</ul>
</li>
</ul>
{/if}

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

Код:
    <script type="text/javascript">
        $(document).ready(function () {
            $('#cssmenu li.has-sub > a').on('click', function(){
                $(this).removeAttr('href');
                var element = $(this).parent('li');
                if (element.hasClass('open')) {
                    element.removeClass('open');
                    element.find('li').removeClass('open');
                    element.find('ul').slideUp();
                }
                else {
                    element.addClass('open');
                    element.children('ul').slideDown();
                    element.siblings('li').children('ul').slideUp();
                    element.siblings('li').removeClass('open');
                    element.siblings('li').find('li').removeClass('open');
                    element.siblings('li').find('ul').slideUp();
                }
            });
            $('#cssmenu>ul>li.has-sub>a').append('<span class="holder"></span>');
        });
    </script>


<script>
$(function(){
    $('.drow_menu li ul li').children('ul')
       .each(function(){
        $(this).css('display','block');
       });
});
</script>

<div id="cssmenu">
            {function name=categories_tree}
            {if $categories}
                <ul>
                {foreach $categories as $c}
                {if $c->visible}
                <li class="active{if $c->subcategories} has-sub{/if}">
                <a href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a>
                {if $c->subcategories}{categories_tree categories=$c->subcategories}{/if}
                </li>
                {/if}
                {/foreach}
                </ul>
            {/if}
            {/function}
            {categories_tree categories=$categories}
</div>
 
Приветствую, есть ли возможность сделать так что бы при клике на категорию или под категорию, отображался весь товар категории, а не просто выпадало подменю ?

Код:
    <script type="text/javascript">
        $(document).ready(function () {
            $('#cssmenu li.has-sub > a').on('click', function(){
                $(this).removeAttr('href');
                var element = $(this).parent('li');
                if (element.hasClass('open')) {
                    element.removeClass('open');
                    element.find('li').removeClass('open');
                    element.find('ul').slideUp();
                }
                else {
                    element.addClass('open');
                    element.children('ul').slideDown();
                    element.siblings('li').children('ul').slideUp();
                    element.siblings('li').removeClass('open');
                    element.siblings('li').find('li').removeClass('open');
                    element.siblings('li').find('ul').slideUp();
                }
            });
            $('#cssmenu>ul>li.has-sub>a').append('<span class="holder"></span>');
        });
    </script>


<script>
$(function(){
    $('.drow_menu li ul li').children('ul')
       .each(function(){
        $(this).css('display','block');
       });
});
</script>

<div id="cssmenu">
            {function name=categories_tree}
            {if $categories}
                <ul>
                {foreach $categories as $c}
                {if $c->visible}
                <li class="active{if $c->subcategories} has-sub{/if}">
                <a href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a>
                {if $c->subcategories}{categories_tree categories=$c->subcategories}{/if}
                </li>
                {/if}
                {/foreach}
                </ul>
            {/if}
            {/function}
            {categories_tree categories=$categories}
</div>

берете вот Для просмотра ссылки Войди или Зарегистрируйся, ставите его, а потом в цикле для каждой категории ставим

Скрытое содержимое доступно для зарегистрированных пользователей!
 
берете вот Для просмотра ссылки Войди или Зарегистрируйся, ставите его, а потом в цикле для каждой категории ставим

Я прошу прощения, я не совсем понял как реализовать ваше решение, виджет я установил, но не понял куда вставлять

Код:
{get_products var=cat_products category_id=$с->id in_stock=1}
{if $cat_products}
{foreach $cat_products as $p}
//выводим товар
{/foreach}
{/if}

его нужно в крутить в:

Код:
<div id="cssmenu">
            {function name=categories_tree}
            {if $categories}
                <ul>
                {foreach $categories as $c}
                {if $c->visible}
                <li class="active{if $c->subcategories} has-sub{/if}">
                <a href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a>
                {if $c->subcategories}{categories_tree categories=$c->subcategories}{/if}
                </li>
                {/if}
                {/foreach}
                </ul>
            {/if}
            {/function}
            {categories_tree categories=$categories}
</div>

Этот код ?

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

но мне хотелось бы попробовать реализовать ваш вариант, не могли бы объяснить чего и как ?

Большое спасибо за ответ.
 
Код:
<div id="cssmenu">
    {function name=categories_tree}
    {if $categories}
        <ul>
            {foreach $categories as $c}
                {if $c->visible}
                    <li class="active{if $c->subcategories} has-sub{/if}">
                        <a href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a>
                        {if $c->subcategories}
                            {categories_tree categories=$c->subcategories}
                        {else}
                            {get_products var=cat_products category_id=$с->id in_stock=1}
                            {if $cat_products}
                                {foreach $cat_products as $p}
                                    <a href="/products/{$p->url}">{$p->name}</a><br>
                                {/foreach}
                            {/if}
                        {/if}
                    </li>
                {/if}
            {/foreach}
        </ul>
    {/if}
    {/function}
    {categories_tree categories=$categories}
</div>


попробуйте так)
 
Ругается:

Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "Z:\home\demo.ru\www//design/Vladis/html\accordion-menu.tpl" on line 48 "{get_products var=cat_products category_id=$с-&gt;id in_stock=1}"
 
category_id=$с-&gt;id - почему тут не стрелочка, а символьный знак
 
Это не все что он пишет, ему много не нравится

Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "Z:\home\demo.ru\www//design/Vladis/html\accordion-menu.tpl" on line 48 "{get_products var=cat_products category_id=$с-&gt;id in_stock=1}" - Unexpected "�", expected one of: "{" , "identifier"' in Z:\home\demo.ru\www\Smarty\libs\sysplugins\smarty_internal_templatecompilerbase.php:431 Stack trace: #0 Z:\home\demo.ru\www\Smarty\libs\sysplugins\smarty_internal_templateparser.php(2855:( Smarty_Internal_TemplateCompilerBase->trigger_template_error() #1 Z:\home\demo.ru\www\Smarty\libs\sysplugins\smarty_internal_templateparser.php(2920:( Smarty_Internal_Templateparser->yy_syntax_error(10, '?') #2 Z:\home\demo.ru\www\Smarty\libs\sysplugins\smarty_internal_smartytemplatecompiler.php(51:( Smarty_Internal_Templateparser->doParse(10, '?') #3 Z:\home\demo.ru\www\Smarty\libs\sysplugins\smarty_internal_templatecompilerbase.php(82:( Smarty_Internal_SmartyTemplateCompiler->doCompile('?? <script s...') #4 Z:\home\demo.ru\www\Smarty\libs\s inZ:\home\demo.ru\www\Smarty\libs\sysplugins\smarty_internal_templatecompilerbase.phpon line 431
 
Поковырялся в коде, устранил ошибку, он вывел все сплошным списком, есть одна под категория но при нажатии на неё выпадает список но в контенте содержимое товары не выводится
 
Назад
Сверху