Форум русской поддержки Joomla!® CMS
06.12.2016, 23:56:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Постранично разбить вывод список категорий

 (Прочитано 352 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlexDark
Новичок
*

Репутация: +1/-1
Offline Offline

Сообщений: 7


« : 29.01.2016, 04:33:26 »

Всем привет. Вопрос может и глупый, но сам зашел в тупик. Есть список категорий которые нужно вывести постранично. Допустим по 10 на странице. Остальные стр. назад 1 2 3  вперед (как обычно)
Joomla вообще стандартными средствами это может сделать? Или посоветуйте пожалуйста расширение для неё.
Записан
White_Tiger
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 80


« Ответ #1 : 29.01.2016, 09:24:31 »

Посмотрите вкладку "макеты списка" там можно настроить и кол-во категорий на страницу по умолчанию, и разбиение по страницам, и возможность самостоятельного выбора юзверем кол-ва категорий на странице.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #2 : 29.01.2016, 11:10:29 »

Что-то я не помню такого, чтобы можно было выводить пагинацию для категорий.
Записан
White_Tiger
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 80


« Ответ #3 : 29.01.2016, 12:19:47 »

Фу, чёрт. Пардоньте, не верно понял вопрос.
Записан
AlexDark
Новичок
*

Репутация: +1/-1
Offline Offline

Сообщений: 7


« Ответ #4 : 29.01.2016, 14:49:23 »

Народ, неужели не у кого не стояла такая задача? Хоть направление может дадите, где копать, очень нужно.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #5 : 29.01.2016, 15:27:37 »

Нет стандарта, да и расширений по моему нет. А копать будет тяжело из-за вложенной архитектуры категорий. Наверное поэтому и не сделали в стандарте пагинацию.
Записан
AlexDark
Новичок
*

Репутация: +1/-1
Offline Offline

Сообщений: 7


« Ответ #6 : 03.02.2016, 06:53:59 »

Если мы рассматриваем разработчиков то их уровень знаний это позволяет сделать на раз два. Простым смертным проблематично, но можно.
И так получилось за бацать так называемую пагинацию. Правда на коленках, надо будет облагородить чтоб было красиво.
1. Переопределяем макет вывода категории я делал (список всех категорий).
2. Расковыриваем код в файле ваше-название_items.php (по умолчанию default_items.php)
Мой пример я удалил все что мне ненужно, если заморочиться вторым этапом можно сделать чтоб были стандартные настройки от Joomla такие как предварительный текст, картинки кому надо это уже легко.
Код:
<?php

/**
 * @package Joomla.Site
 * @subpackage com_content
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;
$class = ' class="first"';

$step = 10;
$cat_num=count($this->items[$this->parent->id]);
$page_num = ceil($cat_num / $step);

$stCatNum = 0;
$endCatNum = $step;

if (isset($_GET['page']))
   {
    $page = substr_replace($_GET['page'], '', -2, 2);
    if ($page == '' or !ctype_digit($page) or $page > $page_num)
  {
   unset($page);
  }
    else {
      $stCatNum =  $page*$step-$step;
          $endCatNum = $page*$step-1;
}
   }
   
$x = 1;
$menu = ''; 
while ($x <= $page_num and $page_num != 1)
{
$menu.= '<a href="'.
  substr_replace($_SERVER['REQUEST_URI'], '',
  strpos($_SERVER['REQUEST_URI'], "?page", 0),
  strpos($_SERVER['REQUEST_URI'], "ru", 0))
 .'?page='.$x.'ru"> >'.$x.' </a>';
$x++;
}



if (count($this->items[$this->parent->id]) > 0 && $this->maxLevelcat != 0) :
?>


<ul>
<?php foreach($this->items[$this->parent->id] as $id => $item) :

if ($id >= $stCatNum and $id <= $endCatNum ) :
?>
   
<li>
<span class="item-title"><a href="<?php echo JRoute::_(ContentHelperRoute::getCategoryRoute($item->id));?>">
<?php
echo $this->escape($item->title);
?></a>
</span>
</li>
    <?php endif; ?>

<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php echo '<br>'.$menu ; ?>

Пример того как работает можно посмотреть тут http://korolevbilliard.ru/home/tournaments/old-tournaments
категорий там пока мало, но под развитие.

Буду рад если кто какие комментарии оставит по недочетам или по оптимизации .
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #7 : 03.02.2016, 09:15:03 »

А что будет, если у Вас появятся вложенные категории?
Записан
Филипп Сорокин
Живу я здесь
******

Репутация: +120/-3
Offline Offline

Пол: Мужской
Сообщений: 1453


« Ответ #8 : 03.02.2016, 09:52:56 »

Что-то я не помню такого, чтобы можно было выводить пагинацию для категорий.
В блоге категорий вроде-как можно?
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #9 : 03.02.2016, 10:58:12 »

В блоге категорий вроде-как можно?
Материалы, но не категории.
Записан
AlexDark
Новичок
*

Репутация: +1/-1
Offline Offline

Сообщений: 7


« Ответ #10 : 03.02.2016, 12:45:49 »

Проверил. Создал под категорию, косяки не появились. А вот после обновы Joomla только сейчас увидел что вывод материалов поплыл, исправил.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #11 : 03.02.2016, 12:55:20 »

Проверил. Создал под категорию, косяки не появились. А вот после обновы Joomla только сейчас увидел что вывод материалов поплыл, исправил.
Я так понимаю, что у Вас на странице выводится список категорий какой-то конкретной категории - old-tournaments - это какой тип пункта меню? Как я понял из Вашего кода, вы берёте учёт только родительских категорий без учёта подкатегорий.

Что будет, если Вы выведите именно список всех категорий (с подкатегориями)?
Записан
AlexDark
Новичок
*

Репутация: +1/-1
Offline Offline

Сообщений: 7


« Ответ #12 : 03.02.2016, 19:10:51 »

Да old-tournaments это пункт меню (список всех категорий) ведет на категорию с кучей под категорий, но с измененным макетом.
В моем шаблоне который я привел выше я выкинул все управление от Joomla, поэтому просто выводится родительский список категорий, id категории передается Joomla, поэтому если есть 2 и более  одноименной задачи по выводу разделов, переделывать ничего ненужно. Маленькое  но, так-как количество строк все же берется из шаблона в переменной $step то у всех разделов будет одинаковое количество строк. И тут можно заморочиться если допустим структура сайта сформирована у вас уже есть  id категорий то можно написать не большой php код который будет проверять сколько строк нужно выводить под каждой категорией.

Цитировать
Что будет, если Вы выведите именно список всех категорий (с подкатегориями)?

В данный момент на своем сайте я внес в шаблон возможность управления из Joomla, можно посмотреть, но потом уберу оно мне ненужно.
В итоге:
Если создать под категории дальше в глубину они будут выводится если в Joomla включен вывод(глубина просмотра все, 1, 2 и т.д.)
Выводится они будут под своей родительской категорией (которые я делал постраничный вывод), но влиять на количество строк не будут.
То есть если я поставил выводить по 5 ссылок родителей, а дальше разбить на страницы то выведутся 5 основных категорий и их потомки.
1 категория
 1.1 подкатегория
 1.2 подкатегория
2 категория
3 категория
4 категория
5 категория
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #13 : 03.02.2016, 19:49:57 »

Понятно, как я и думал - страницы считаются для исходя из кол-ва родителей. Ну в принципе, вариант.
Записан
AlexDark
Новичок
*

Репутация: +1/-1
Offline Offline

Сообщений: 7


« Ответ #14 : 03.02.2016, 21:28:16 »

Увы способ с изъянами, не идеален. В идеале нужно копать глубже до момента запроса к базе тогда уже можно данными крутить как вам угодно.
Записан
AlexDark
Новичок
*

Репутация: +1/-1
Offline Offline

Сообщений: 7


« Ответ #15 : 03.02.2016, 21:39:09 »

Кстати говоря о возможностях, на самом деле в Joomla реализована пагинация категорий  и с уровнем дочерних категорий и с листингом все супер но используется она в админке когда заходите материалы->менеджер категорий. Поэтому разработчиков не понимаю почему они эту идею не перенесли и в пользовательский режим.
Записан
Sergeyy
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 121


« Ответ #16 : 03.02.2016, 23:38:02 »

Вот мой костыль:
http://joomlaforum.ru/index.php/topic,297014.msg1480272.html#msg1480272
Работает без проблем. Список подкатегорий мне не нужен, даже непроверял

А вообще нам сюда http://ideas.joomla.org/forums/84261-joomla-idea-pool/suggestions/2315657-pagination-for-categories-and-subcategories
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet