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

dynamit

  • Завсегдатай
  • 1740
  • 265 / 0
  • 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. Пост скорее как шпаргалка, что бы не забыть) Поэтому опускаю все эти сопли по переопределеню макета и "как мне их поставить справа и сделать зелененькими..."
« Последнее редактирование: 15.11.2016, 23:09:57 от dynamit »
==================================================
  ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

jan_dax

  • Захожу иногда
  • 69
  • 2 / 4
Вчера полдня искал..
добавлю  что можно еще вот так $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

  • Завсегдатай
  • 1740
  • 265 / 0
  • 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
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Некорректное открытие материалов

Автор lector999

Ответов: 2
Просмотров: 88
Последний ответ 21.02.2018, 13:25:04
от lector999
Вывод статей из "той же" категории

Автор kira

Ответов: 7
Просмотров: 97
Последний ответ 20.02.2018, 21:25:05
от Missile
Вывод меток

Автор bantell

Ответов: 6
Просмотров: 143
Последний ответ 20.02.2018, 11:45:32
от bantell
Вывод материалов в категории

Автор nastali96

Ответов: 2
Просмотров: 73
Последний ответ 18.02.2018, 09:37:34
от nastali96
Перенос материалов с localhost на хостинг, какие таблицы копировать?

Автор x1

Ответов: 4
Просмотров: 83
Последний ответ 08.02.2018, 18:17:19
от Sambiz2