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

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

  • Захожу иногда
  • 86
  • 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);
чтобы выводить только опубликованные материалы
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Блог | Тайтл, description подкатегории

Автор darkghost

Ответов: 0
Просмотров: 200
Последний ответ 02.02.2024, 22:25:53
от darkghost
Не удается разблокировать в менеджере материалов.

Автор vityavoluevich

Ответов: 0
Просмотров: 238
Последний ответ 10.01.2024, 09:05:30
от vityavoluevich
Вывод даты материала в списке тегов

Автор androv77

Ответов: 2
Просмотров: 898
Последний ответ 09.11.2023, 16:33:08
от denxio
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 1516
Последний ответ 06.10.2023, 14:02:24
от Mitriy
Поиск в Материал- Блог категории

Автор mag_num83

Ответов: 1
Просмотров: 322
Последний ответ 14.09.2023, 20:36:34
от beliyadm