Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 222 Просмотров
*

dynamit

  • Практически профи
  • *******
  • 1745
  • 264
  • Winter Is Coming
Понадобилось вывести материалы в списке подкатегорий в Блоге материалов.
Темы у нас не нашел. может искал плохо?)
короче, файл 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, 01:09:57 от dynamit »
==================================================
  ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

jan_dax

  • Осваиваюсь на форуме
  • ***
  • 68
  • -2
Вчера полдня искал..
добавлю  что можно еще вот так $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

  • Практически профи
  • *******
  • 1745
  • 264
  • Winter Is Coming
... парсить фото из фуллтекста...
тут есть нюанс. Если вы заполнили Вступительный текст, то парсим фото из основного текста
Код
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.
==================================================
  ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5