Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 6409 Просмотров
*

act1ve

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
Доброго времени суток,

Пытаюсь настроить вывод материалов подкатегорий на странице категории (без присваивания материалам нескольких категорий).
Поискав информацию об этом на наших и заграничных форумах, пришел к выводу что стандартными средствами ZOO сделать это не удасться, надо "допиливать" код. По умолчанию, на странице категории выводятся только материалы, принадлежащие этой категории.

Покопавшись в файлах, обнаружил, что за выдачу материалов в категории отвечает код в файле \zoo\applications\назв_апп\templates\назв_каталога\category.php,  начиная со строки 40:

Код
    // category items render
    if ($this->params->get('config.items_show', 1) && count($this->items)) {

        if ($this->params->get('config.show_feed_link', 1) && $currentView == 'category') {
            $link = $this->params->get('config.alternate_feed_link');
            if (!$link) {
                $link = $this->app->route->feed($this->category, 'rss');
            }
            $link = JRoute::_($link);

            echo '<a class="rsslink" target="_blank" href="' . $link . '" title="' . JText::_('RSS feed'). '">' .
                JText::_('RSS feed'). '</a>';

            echo '<div class="clear clr"></div>';
        }

        echo $this->app->jblayout->render('items', $this->items);

    } else {
        echo $this->app->jblayout->render('items_empty', $category);
    }

Но дальше тупик :)

Кто-нибудь может подсказать - возможно ли настроить вывод материалов подкатегорий легким редактированием кода?

Или здесь 2-мя, 3-мя строчками не отделаешься?
*

Bright

  • Захожу иногда
  • 170
  • 2 / 2
Пытаюсь настроить вывод материалов подкатегорий на странице категории (без присваивания материалам нескольких категорий).
Поискав информацию об этом на наших и заграничных форумах, пришел к выводу что стандартными средствами ZOO сделать это не удасться, надо "допиливать" код. По умолчанию, на странице категории выводятся только материалы, принадлежащие этой категории.
Я не знаю кто такой Zoo, но в просто Joomla я себе это сделал. Попробуйте и вы - просто поиграйтесь с отображением Избранного. Материалам категории присваивается статус "Избранный" и они выводятся на "как бы главную" страницу категории. Сейчас уже не опишу какие дополнительные действия нужны, но думаю как-нибудь сообразите.
Как вариант, можно попытаться назначить нужную вам страницу категории Главной (вывод "блог" в обоих случаях). Тогда с еще большей долей вероятности на ней будут отображаться избранные материалы входящих в эту категорию подкатегорий.

В общем, где-то так. Вроде в настройках пунктов меню что-то есть эдакое. А чтобы точно описать, надо самому не меньше часа заново разбираться. :) Извините, если в Зоо это совсем не в тему, хотел как лучше.
*

act1ve

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
...
В общем, где-то так. Вроде в настройках пунктов меню что-то есть эдакое. А чтобы точно описать, надо самому не меньше часа заново разбираться. :) Извините, если в Зоо это совсем не в тему, хотел как лучше.

У ZOO свои типы меню. Там нет таких настроек. Правда в самом компоненте можно реализовать что-то подобное. Для этого есть функция FRONTPAGE.  Но это работает только в том случае, если есть только 2 уровня категорий.

В случае, если их 3 и более, на странице главной категории все отображается как надо, а вот на странице субкатегории 2-го уровня не отображаются материалы субкатегории 3-го уровня.

В любом случае, спасибо за попытку помочь :)
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
Судя из приведеного куска кода имеет место приложение - JBZoo, я так понимаю, что оно у вас куплено, поэтому обращайтесь к ним в поддержку.
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

act1ve

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
Судя из приведеного куска кода имеет место приложение - JBZoo, я так понимаю, что оно у вас куплено, поэтому обращайтесь к ним в поддержку.

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

В общем тема все еще открыта.

Кто разбирается в этом, подскажите, можно ли реализовать эту задачу добавлением нескольких строк кода?
Или надо сильно углубляться в редактирование core - файлов?
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
В ядро лезть не обязательно, все на уровне шаблона приложения.
В общем в файле - \zoo\applications\назв_апп\templates\category.php - добавляем:
Код: php
// render categories		
if ($this->category->hasChildren()) {
foreach ($this->category->getChildren() as $child) {
if (!$child->totalItemCount()) continue;
$link = $this->app->route->category($child);
$item_count = ($this->params->get('template.show_sub_categories_item_count', 1))? ' <span>('.$child->totalItemCount().')</span>' : '';
echo '<h3 class="page-title"><a href="'.$link.'" title="'.$child->name.'">'.$child->name.'</a></h3>';
// get category params
$params = $child->getParams('site');
$item_order = $params->get('config.item_order');
$items_per_page   = $params->get('config.items_per_page', 12);
// get items
$childitems = $this->app->table->item->getByCategory($child->getApplication()->id, $child->id, true, null, $item_order, 0, $items_per_page);
// render items
if (count($childitems)) {
echo $this->partial('items', compact('childitems'));
}
echo '<h4 class="page-title-bottom"><a href="'.$link.'" title="'.$child->name.'">Другие новости из категории '.$child->name.'</a></h4>';
echo '<div class="items-spacer"></div>';

}
}
Примечание, т.к. передаем в _items.php переменную $childitems, поэтому там ее нужно поймать и обработать иначе ничего не выведется.
Изменить по типу такого:
Код: php
$items   = isset($childitems)? $childitems : $this->items;
$rows    = ceil(count($items) / $this->params->get('template.items_cols', 1));

// create columns
foreach($items as $item) {
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

act1ve

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
В ядро лезть не обязательно, все на уровне шаблона приложения.
В общем в файле - \zoo\applications\назв_апп\templates\category.php - добавляем:
...

Спасибо за совет.
В JBZoo видимо другая структура файлов. _items.php в папке шаблона нет.

Но я спрошу на форуме разработчика, можно ли будет это решение адаптировать под JBZoo.

Если решение рабочее - это довольно полезный пост.
Так как при поиске ответа на свой вопрос, встречал похожие открытые темы на других ресурсах
*

olejan

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Не стал создавать отдельную тему, решил отписать здесь.
Подскажите пожалуйста, можно ли как то средствами Zoo организовать вывод материалов каталогов таким образом

категория кухни
- подкатегория столы
  - материалы столов
- подкатегория стулья
  - материалы стульев

То есть, чтоб по сабкатегорией выводились материалы этой категории, а далее шла другая саб категория с ее материалами.
Пример реализации можно поглядеть тут http://skyland.ru/kitchens/

Заранее спасибо.
*

act1ve

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
Не стал создавать отдельную тему, решил отписать здесь.
Подскажите пожалуйста, можно ли как то средствами Zoo организовать вывод материалов каталогов таким образом

категория кухни
- подкатегория столы
  - материалы столов
- подкатегория стулья
  - материалы стульев

То есть, чтоб по сабкатегорией выводились материалы этой категории, а далее шла другая саб категория с ее материалами.
Пример реализации можно поглядеть тут http://skyland.ru/kitchens/

Заранее спасибо.

Насколько я знаю, предложенный вами вариант вывода материалов не удасться реализовать стандартными средствами ZOO. Но в приложении JBZoo, о котором говорилось выше, это легко делается. Вот ссылка на сайт разработчика: http://joomla-book.ru.

А вывод категорий предложенным мной способом там пока еще не реализован :)
*

olejan

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Спасибо, буду пробовать.
А скажите еще пожалуйста, в последней версии Zoo, модуль Zoo item идет без горизонтального шаблона, то есть все материалы выводятся в столбик, а хотелось бы чтоб в строку, не подскажите где найти такой шаблон. Заранее спасибо.
*

act1ve

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
Re: Показывать материалы подкатегорий
« Ответ #10 : 24.06.2012, 22:28:07 »
Спасибо, буду пробовать.
А скажите еще пожалуйста, в последней версии Zoo, модуль Zoo item идет без горизонтального шаблона, то есть все материалы выводятся в столбик, а хотелось бы чтоб в строку, не подскажите где найти такой шаблон. Заранее спасибо.
Это можно сделать CSS-ом.
В зависимости от верстки. Применить для ли <li> стиль "float:left" или "display:inline".
*

worstinme

  • Захожу иногда
  • 82
  • 10 / 0
  • hawkeye 57 lvl.
Re: Показывать материалы подкатегорий
« Ответ #11 : 26.06.2012, 19:36:21 »
В ядро лезть не обязательно, все на уровне шаблона приложения.
В общем в файле - \zoo\applications\назв_апп\templates\category.php - добавляем:
все круто, но хотелось бы, чтобы материалы выводились без группировки по категориям, то есть при выводе категория просто считала материалы под категорий - "своими", и соответственно можно было в 1 ленту. отсортировать все это по дате, надеюсь разъяснил доступно, возможно реализовать?
*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
Re: Показывать материалы подкатегорий
« Ответ #12 : 26.06.2012, 20:24:41 »
Можно...
сделать как вам описал MetaSpirit,
но не передавайте в _items.php, а обрабатывайте сразу в category.php
(к примеру, объединить все массивы итемов в один, и потом отсортировать)

PS: А почему не добавлять в итем сразу корневую категорию, помимо подкатегорий?
*

starboro

  • Новичок
  • 1
  • 0 / 0
Re: Показывать материалы подкатегорий
« Ответ #13 : 21.01.2014, 00:29:21 »
В ядро лезть не обязательно, все на уровне шаблона приложения.
В общем в файле - \zoo\applications\назв_апп\templates\category.php - добавляем:
Код: php
// render categories		
if ($this->category->hasChildren()) {
foreach ($this->category->getChildren() as $child) {
if (!$child->totalItemCount()) continue;
$link = $this->app->route->category($child);
$item_count = ($this->params->get('template.show_sub_categories_item_count', 1))? ' <span>('.$child->totalItemCount().')</span>' : '';
echo '<h3 class="page-title"><a href="'.$link.'" title="'.$child->name.'">'.$child->name.'</a></h3>';
// get category params
$params = $child->getParams('site');
$item_order = $params->get('config.item_order');
$items_per_page   = $params->get('config.items_per_page', 12);
// get items
$childitems = $this->app->table->item->getByCategory($child->getApplication()->id, $child->id, true, null, $item_order, 0, $items_per_page);
// render items
if (count($childitems)) {
echo $this->partial('items', compact('childitems'));
}
echo '<h4 class="page-title-bottom"><a href="'.$link.'" title="'.$child->name.'">Другие новости из категории '.$child->name.'</a></h4>';
echo '<div class="items-spacer"></div>';

}
}
Примечание, т.к. передаем в _items.php переменную $childitems, поэтому там ее нужно поймать и обработать иначе ничего не выведется.
Изменить по типу такого:
Код: php
$items   = isset($childitems)? $childitems : $this->items;
$rows    = ceil(count($items) / $this->params->get('template.items_cols', 1));

// create columns
foreach($items as $item) {

Воспользовался Вашим решением - спасибо! Не сочтите за наглость но не могли бы Вы еще подсказать как в данном решении выводить все это постранично, с учетом стандартно заданному в каталоге количеству элементов на страницу
Спасибо еще раз!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение категорий и подкатегорий

Автор Xopxe

Ответов: 3
Просмотров: 1141
Последний ответ 27.08.2013, 09:27:39
от Xopxe
Как восстановить удаленные материалы?

Автор 1day

Ответов: 2
Просмотров: 9547
Последний ответ 21.04.2013, 06:10:42
от GASAN-HOTTAB
Zoo и приложение Movies, вывод подкатегорий

Автор olejan

Ответов: 5
Просмотров: 1892
Последний ответ 10.12.2012, 17:22:37
от olejan
показ материалов из подкатегорий

Автор worstinme

Ответов: 0
Просмотров: 1178
Последний ответ 23.09.2012, 19:22:15
от worstinme
Избранные материалы

Автор andruxxa

Ответов: 10
Просмотров: 2158
Последний ответ 23.09.2012, 15:54:57
от radiant