Перейти к содержимому


Фото
- - - - -

Кол-во разделов в категорий

категории список категорий

  • Чтобы отвечать, сперва войдите на форум
9 ответов в теме

#1 Jekas

Jekas
  • Пользователь
  • 122 сообщений
  • Дизайн, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Королев

Опубликовано 27.10.2017 - 15:11

Подскажите как можно ограничить кол-во выводимых разделов в категории раздела, кто-то делал?



#2 Noxter

Noxter
  • Забаненый
  • 1 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 27.10.2017 - 15:22

Подскажите как можно ограничить кол-во выводимых разделов в категории раздела, кто-то делал?

Никак потому как категории выводятся рекурсивно.
Разве что скрыть категорию.
UPD: Сейчас припрётся Kors (с одного из 10 аккаунтов) и заявит что сделать можно, но не скажет как :D

Изменено: Noxter, 27.10.2017 - 15:43


#3 miltonmors

miltonmors
  • Забаненый
  • 91 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Николаев

Опубликовано 27.10.2017 - 15:54

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

Например, так: завести переменную, подсчитывающую к-во выведенных, и при достижении ею порогового значения далее не выводить. Вроде бы настолько просто, что проще некуда...



#4 Noxter

Noxter
  • Забаненый
  • 1 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 27.10.2017 - 16:38

Обычно спецы по программированию знают, что ограничить можно, даже если выводится рекурсивно.
Например, так: завести переменную, подсчитывающую к-во выведенных, и при достижении ею порогового значения далее не выводить. Вроде бы настолько просто, что проще некуда...

Ну вот попробуй пройтись рекурсивно по всем веткам, а уж потом пиши свои нелепые соображения.
P.S. Иными словами "Я же говорил" :D

#5 miltonmors

miltonmors
  • Забаненый
  • 91 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Николаев

Опубликовано 27.10.2017 - 17:32

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



#6 mishanya

mishanya
  • Фрилансер
  • 2 575 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 27.10.2017 - 17:35

Подскажите как можно ограничить кол-во выводимых разделов в категории раздела, кто-то делал?

 

код ваш покажите. функции они разные бывают. не факт что у вас выводиться все именно рекурсивной ф-ей. нужно знать где и что выводится. может у вас вообще в категории цикл по подкатегориям без рекурсий



#7 shooroop

shooroop
  • Фрилансер
  • 1 066 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Antarktida

Опубликовано 27.10.2017 - 22:20

а функцией нельзя ограничить?

 

{* Рекурсивная функция вывода дерева категорий *}
   {function name=categories_tree}
   {if $categories}
   <ul class="mobile-rotate">
   {$iteration = 0}
   {foreach $categories as $c}
    {* Показываем только видимые категории *}
    {if $c->visible}
    {if $iteration==13}{break}{/if}
     <li>
       <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">
      {if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}"> {else} <img src="design/{$settings->theme|escape}/images/no_image.png" />{/if}
        <br>{$c->name}</a>
      
     </li>
     {$iteration = $iteration+1}
    {/if}
   {/foreach}
   </ul>
   {/if}
   {/function}
   {categories_tree categories=$categories}

 

я такой код использую, но у меня соответственно нет подкатегорий те для них надо еще указать условие {if}



#8 yr4ik

yr4ik
  • Фрилансер
  • 932 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 28.10.2017 - 00:30

а в это ограничение должны попадать все категории? или только те что не имеют дочерних? 



#9 miltonmors

miltonmors
  • Забаненый
  • 91 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Николаев

Опубликовано 28.10.2017 - 09:37

а функцией нельзя ограничить?

 

{* Рекурсивная функция вывода дерева категорий *}
   {function name=categories_tree}
   {if $categories}
   <ul class="mobile-rotate">
   {$iteration = 0}
   {foreach $categories as $c}
    {* Показываем только видимые категории *}
    {if $c->visible}
    {if $iteration==13}{break}{/if}
     <li>
       <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">
      {if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}"> {else} <img src="design/{$settings->theme|escape}/images/no_image.png" />{/if}
        <br>{$c->name}</a>
      
     </li>
     {$iteration = $iteration+1}
    {/if}
   {/foreach}
   </ul>
   {/if}
   {/function}
   {categories_tree categories=$categories}

 

я такой код использую, но у меня соответственно нет подкатегорий те для них надо еще указать условие {if}

 

Простенький аккуратный код. Ограничивает вывод дочерних категорий каждой категории  13-ю пунктами. Именно это имелось в виду в #3.

 

а в это ограничение должны попадать все категории? или только те что не имеют дочерних? 

 

Если надо добавочные ограничения от наличия дочерних и проч, то тут несколько сложнее. Но все равно можно реализовать в этой же функции. Если ТС выскажется определенно...



#10 Jekas

Jekas
  • Пользователь
  • 122 сообщений
  • Дизайн, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Королев

Опубликовано 28.10.2017 - 11:48

Ой всем огромной спасибо )







Также с меткой «категории, список категорий»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых