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


Фотография
- - - - -

ограничить количество подкатегорий


Лучший Ответ SmetDenis , 26 June 2013 - 06:20


 <?php
    $maxChildcategories = 10; // максимальное кол-во
    if (count($childCategories) > 0) {
        ?><ul><?php
            $catCount = 0;
            foreach($childCategories as $childCategory) {
                
                $childLink = $this->app->route->category($childCategory);
                
                $childItemCount = 0;
                if ($showCount) {
                    $childItemCount = count($childCategory->item_ids);
                }
                ?>
                <li>
                    <a href="<?php echo $childLink;?>" title="<?php echo $childCategory->name;?>"><?php echo $childCategory->name;?></a>
                    <?php if ($showCount && $childItemCount) {?><span>(<?php echo $childItemCount;?>)</span><?php } ?>
                </li>
                <?php
                if (++$catCount == $maxChildcategories) {
                    break; // выход из цикла
                }
            }
        ?></ul><?php
    }
    ?>
Кнопку далее сделать сложнее, потому постраничного деления подкатегорий просто нет.
Советую вам пересмотреть структуру вашего сайта. Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 3

#1 i001

i001

Отправлено 25 June 2013 - 18:36

Использую directiry.php

Внешний вид:

Категория

- подкатегория 1

- подкатегория 2

- подкатегория 3

- подкатегория ....

 

При большом количестве подкатегорий выглядит все это несуразно.

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

Кусок кода, который за это отвечает вроде как нашел, подскажите пожалуйста как правильно прописать.

 <?php
    if (count($childCategories) > 0) {
        ?><ul><?php
            foreach($childCategories as $childCategory) {
                
                $childLink = $this->app->route->category($childCategory);
                
                $childItemCount = 0;
                if ($showCount) {
                    $childItemCount = count($childCategory->item_ids);
                }
                ?>
                <li>
                    <a href="<?php echo $childLink;?>" title="<?php echo $childCategory->name;?>"><?php echo $childCategory->name;?></a>
                    <?php if ($showCount && $childItemCount) {?><span>(<?php echo $childItemCount;?>)</span><?php } ?>
                </li>
                <?php
            }
        ?></ul><?php
    }
    ?>

Сообщение отредактировал i001: 25 June 2013 - 18:38

  • 1

#2 SmetDenis

SmetDenis

Отправлено 26 June 2013 - 06:20   Лучший Ответ


 <?php
    $maxChildcategories = 10; // максимальное кол-во
    if (count($childCategories) > 0) {
        ?><ul><?php
            $catCount = 0;
            foreach($childCategories as $childCategory) {
                
                $childLink = $this->app->route->category($childCategory);
                
                $childItemCount = 0;
                if ($showCount) {
                    $childItemCount = count($childCategory->item_ids);
                }
                ?>
                <li>
                    <a href="<?php echo $childLink;?>" title="<?php echo $childCategory->name;?>"><?php echo $childCategory->name;?></a>
                    <?php if ($showCount && $childItemCount) {?><span>(<?php echo $childItemCount;?>)</span><?php } ?>
                </li>
                <?php
                if (++$catCount == $maxChildcategories) {
                    break; // выход из цикла
                }
            }
        ?></ul><?php
    }
    ?>
Кнопку далее сделать сложнее, потому постраничного деления подкатегорий просто нет.
Советую вам пересмотреть структуру вашего сайта.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 i001

i001

Отправлено 26 June 2013 - 07:48

Денис, спасибо большое, в целом получилось, кроме последней категории, на нее это не действует.


  • 0

#4 i001

i001

Отправлено 26 June 2013 - 08:00

все работает.


  • 0




Click to return to top of page in style!