<https://ipbskins.ru/forums/topic/6936-faq-svorachivaemye-kategorii/#comment-81599>
<http://schema.org/text>
"&lt;style&gt;\nspan.minus, span.sub_minus, ul.subnav, ul.sub_subnav {\n display: none;\n}\nul.sub_subnav li a { \npadding-left: 35px !important;\n}\n#category_list ul li a { \ndisplay: inline-block !important;\npadding-right: 0 !important;\nwidth: 155px;\n}\n&lt;/style&gt;\n&lt;div id='category_list' class='general_box clearfix'&gt;\n   &lt;h3&gt;{$this-&gt;lang-&gt;words['ab__categories']} &lt;a href='{$this-&gt;_database_url}?view=categories'&gt;{$this-&gt;lang-&gt;words['ab__seealllink']}&lt;/a&gt;&lt;/h3&gt;\n   &lt;ul class='menu'&gt;\n       &lt;if test=\"is_array( $this-&gt;_categories ) &amp;&amp; count( $this-&gt;_categories )\"&gt;\n           &lt;foreach loop=\"$this-&gt;_categories[0] as $r\"&gt;\n               &lt;li&gt;\n                   &lt;a href='{$this-&gt;registry-&gt;ccsFunctions-&gt;returnDatabaseUrl( $r['category_database_id'], $r['category_id'] )}'&gt;{$r['category_name']}&lt;/a&gt;\n                   &lt;if test=\"count( $this-&gt;_categories[ $r['category_id'] ] )\"&gt;\n                       &lt;span class='plus right'&gt;&lt;img src='{style_images_url}/btn-expand.png' /&gt;&lt;/span&gt;\n                       &lt;span class='minus right'&gt;&lt;img src='{style_images_url}/btn-collapse.png' /&gt;&lt;/span&gt;\n                       &lt;ul class='subnav'&gt;\n                           &lt;foreach loop=\"$this-&gt;_categories[ $r['category_id'] ] as $sub\"&gt;\n                               &lt;li&gt;\n                                   &lt;a href='{$this-&gt;registry-&gt;ccsFunctions-&gt;returnDatabaseUrl( $sub['category_database_id'], $sub['category_id'] )}'&gt;{$sub['category_name']}&lt;/a&gt;\n                                   &lt;if test=\"count( $this-&gt;_categories[ $sub['category_id'] ] )\"&gt;\n                                       &lt;span class='sub_plus right'&gt;&lt;img src='{style_images_url}/btn-expand.png' /&gt;&lt;/span&gt;\n                                       &lt;span class='sub_minus right'&gt;&lt;img src='{style_images_url}/btn-collapse.png' /&gt;&lt;/span&gt;\n                                       &lt;ul class='sub_subnav'&gt;\n                                           &lt;foreach loop=\"$this-&gt;_categories[ $sub['category_id'] ] as $sub_sub\"&gt;\n                                               &lt;li&gt;\n                                                   &lt;a href='{$this-&gt;registry-&gt;ccsFunctions-&gt;returnDatabaseUrl( $sub_sub['category_database_id'], $sub_sub['category_id'] )}'&gt;{$sub_sub['category_name']}&lt;/a&gt;\n                                               &lt;/li&gt;\n                                           &lt;/foreach&gt;\n                                        &lt;/ul&gt;\n                                   &lt;/if&gt;\n                               &lt;/li&gt;\n                           &lt;/foreach&gt;\n                       &lt;/ul&gt;\n                   &lt;/if&gt;\n               &lt;/li&gt;\n           &lt;/foreach&gt;\n       &lt;/if&gt;\n   &lt;/ul&gt;\n&lt;/div&gt;\n  &lt;script type=\"text/javascript\"&gt;\njQuery.noConflict(); \njQuery(document).ready(function($){ \n$(document).ready(function(){\n\t$(\"ul.menu li span\").click(function() {\n\t\t$(this).parent().find(\"span.plus\").toggle();\n\t\t$(this).parent().find(\"span.minus\").toggle();\n\t\t$(this).parent().find(\"ul.subnav\").slideToggle(\"normal\");\n\t});\n\t$(\"ul.subnav li span\").click(function() {\n\t\t$(this).parent().find(\"span.sub_plus\").toggle();\n\t\t$(this).parent().find(\"span.sub_minus\").toggle();\n\t\t$(this).parent().find(\"ul.sub_subnav\").slideToggle(\"normal\");\n\t});\n});\n});\n&lt;/script&gt; Примерно так, но скрипт надо проверять, возможна накладка. Кнопки нужно под условие опустить, что бы не парсились, если нет подкатегорий. Плюс добавлен 3-й уровень вложенности меню. "
<https://ipbskins.ru/forums/topic/6936-faq-svorachivaemye-kategorii/?tab=comments#comment-81599>