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

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

[howto] Блог. Вывод материалов в списке подкатегорий

 (Прочитано 88 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dynamit
Практически профи
*******

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

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


Winter Is Coming


« : 15.11.2016, 14:48:05 »

Понадобилось вывести материалы в списке подкатегорий в Блоге материалов.
Темы у нас не нашел. может искал плохо?)
короче, файл blog_children.php.
Код добавляем внутри цикла вывода подкатегорий  
Код:
foreach ($this->children[$this->category->id] as $id => $child)
в $child->id имеем идентификатор категории.
получим данные материалов используя  модель Joomla, отфильтруем их по ID категории и выведем в цикле:
Код:
$model = JModelList::getInstance('Articles', 'ContentModel', array('ignore_request'=>true));

$appParams = JFactory::getApplication()->getParams();
$model->setState('params', $appParams);
$model->setState('filter.category_id', $child->id);
$items = $model->getItems();


foreach ($items as $item) {
    echo "<div class='article-title'>";
    echo $item->title;
    echo "</div>";
}
в $item все доступные переменные материала.

Ссылку на материал формируем таким образом:
Код:
<?php  echo JRoute::_(ContentHelperRoute::getArticleRoute($item->id.':'.$item->alias, $child->id)); ?>


P.S. Пост скорее как шпаргалка, что бы не забыть) Поэтому опускаю все эти сопли по переопределеню макета и "как мне их поставить справа и сделать зелененькими..."
« Последнее редактирование: 16.11.2016, 00:09:57 от dynamit » Записан
jan_dax
Осваиваюсь на форуме
***

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

Сообщений: 68



« Ответ #1 : 20.11.2016, 15:10:00 »

Вчера полдня искал..
добавлю  что можно еще вот так $model->setState('list.limit', 3); ограничить нужное количество этих статей..
Но мне нужно вывести не только заголовки, а скажем, 3 блока с картинкой и заголовком поверх нее.

Только как бы парсить фото из фуллтекста. для blog_item.php   я  подключил в качестве хелпера кусочек кода из модуля гавика, в котором он выдирает из текста фото отдельно, и текст.. 
там в blog.php  пишу <?php
               $this->item = & $item;
               echo $this->loadTemplate('itemintro');
               ?>

а уже в itemintro  <?php $this->image = NSP_GK5_com_content_Helper::image ($this->item,  0, 350,'toneimage-opacity');
                  echo $this->image;       ?>



тут это почему-то не срабатывает, ругается на ошибку
 Может подскажете другой метод?

 
Записан
dynamit
Практически профи
*******

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

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


Winter Is Coming


« Ответ #2 : 21.11.2016, 09:28:20 »

... парсить фото из фуллтекста...
тут есть нюанс. Если вы заполнили Вступительный текст, то парсим фото из основного текста
Код:
preg_match_all('/<\s*img\s+src\s*="\s*("[^"]*"|\'[^\']*\'|[^"\s]+)(.*?)>/i', $item->fulltext, $result);
$fulltext_img = isset($result[1][0])? $result[1][0] : '';
$fulltext_text = preg_replace('/<img(.*?)>/i', '', $item->fulltext);

если Вступительного текста нет, тогда надо работать с $item->introtext.

P.S. В материалах есть вкладка Изображения, где можно добавить фото и для интро и для основного текста. Они также есть в $item в формате json.
Записан
Страниц: [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