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

dynamit

  • Завсегдатай
  • 1744
  • 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

  • Захожу иногда
  • 70
  • 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

  • Завсегдатай
  • 1744
  • 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
*

Mitriy

  • Захожу иногда
  • 81
  • 0 / 0
Понадобилось вывести материалы в списке подкатегорий в Блоге материалов.
Темы у нас не нашел. может искал плохо?)
короче, файл 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. Пост скорее как шпаргалка, что бы не забыть) Поэтому опускаю все эти сопли по переопределеню макета и "как мне их поставить справа и сделать зелененькими..."
Добавил еще такую строку
$model->setState('filter.published', 1);
чтобы выводить только опубликованные материалы
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Блог категории

Автор jmnewbie

Ответов: 3
Просмотров: 185
Последний ответ 31.10.2022, 17:44:07
от marksetter
Вывод обновленной информации

Автор vlmedia

Ответов: 1
Просмотров: 136
Последний ответ 20.09.2022, 09:56:47
от effrit
Перенос материалов и категорий (с сохранением ID) на другой сайт

Автор mak200

Ответов: 0
Просмотров: 164
Последний ответ 09.09.2022, 09:30:53
от mak200
Исключить из списка материалов категории текущий материал

Автор Vlad1

Ответов: 3
Просмотров: 274
Последний ответ 21.08.2022, 21:24:51
от marksetter
Сортировка материалов в блоге

Автор ebonydabster

Ответов: 6
Просмотров: 791
Последний ответ 13.07.2022, 16:42:46
от original.gangsta