Â
The categories widget block will collapse the number of subcategories if there are more than 5 subcategories. This can be fixed by changing the code quite easily.
This is the code for the category widget block:
{{$catClass = '\IPS\cms\Categories' . \IPS\cms\Databases\Dispatcher::i()->databaseId;}} {{$categories = $catClass::roots();}} {{if !empty( $categories )}} <h3 class='ipsWidget_title ipsType_reset'>{lang="categories"}</h3> <div class='ipsSideMenu ipsAreaBackground_reset ipsPad_half'> <ul class='ipsSideMenu_list'> {{foreach $categories as $category}} <li> <a href="{$category->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'><span class='ipsBadge ipsBadge_style1 ipsPos_right'>{expression="\IPS\cms\Records::contentCount( $category )"}</span><strong class='ipsType_normal'>{$category->_title}</strong></a> {{if $category->hasChildren()}} <ul class="ipsSideMenu_list"> {{foreach $category->children() as $idx => $subcategory}} <li> {{if $idx >= 5}} <a href='{$category->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $category->children() ) - 5"}</span></a> {{break;}} {{else}} <a href="{$subcategory->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'><strong class='ipsPos_right ipsType_small'>{expression="\IPS\cms\Records::contentCount( $subcategory )"}</strong>{$subcategory->_title}</a> {{endif}} </li> {{endforeach}} </ul> {{endif}} </li> {{endforeach}} </ul> <p class='ipsType_center'> <a href='{$url->setQueryString('show','categories')}' class=''>{lang="cms_show_categories"} <i class='fa fa-caret-right'></i></a> </p> </div> {{endif}}
In this code you will see this snippet:
{if $idx >= 5}} <a href='{$category->url()}' class='ipsSideMenu_item'><span class='ipsType_light ipsType_small'>{lang="and_x_more" sprintf="count( $category->children() ) - 5"}</span></a> {{break;}} {{else}} <a href="{$subcategory->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'><strong class='ipsPos_right ipsType_small'>{expression="\IPS\cms\Records::contentCount( $subcategory )"}</strong>{$subcategory->_title}</a> {{endif}}
This is what control the behavior so all we need to do is to remove the top part of this and the ending endif. This will look like this:
{{$catClass = '\IPS\cms\Categories' . \IPS\cms\Databases\Dispatcher::i()->databaseId;}} {{$categories = $catClass::roots();}} {{if !empty( $categories )}} <h3 class='ipsWidget_title ipsType_reset'>{lang="categories"}</h3> <div class='ipsSideMenu ipsAreaBackground_reset ipsPad_half'> <ul class='ipsSideMenu_list'> {{foreach $categories as $category}} <li> <a href="{$category->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'><span class='ipsBadge ipsBadge_style1 ipsPos_right'>{expression="\IPS\cms\Records::contentCount( $category )"}</span><strong class='ipsType_normal'>{$category->_title}</strong></a> {{if $category->hasChildren()}} <ul class="ipsSideMenu_list"> {{foreach $category->children() as $idx => $subcategory}} <li> <a href="{$subcategory->url()}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'><strong class='ipsPos_right ipsType_small'>{expression="\IPS\cms\Records::contentCount( $subcategory )"}</strong>{$subcategory->_title}</a> </li> {{endforeach}} </ul> {{endif}} </li> {{endforeach}} </ul> <p class='ipsType_center'> <a href='{$url->setQueryString('show','categories')}' class=''>{lang="cms_show_categories"} <i class='fa fa-caret-right'></i></a> </p> </div> {{endif}}
Â
Recommended Comments
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now