Перейти к содержимому


Фотография
- - - - -

Организовать архив публикаций


Лучший Ответ SmetDenis , 21 April 2015 - 08:01

У функции скромный набор опций
Посмотрите исходник функции, чтобы не гадать как она работает
media\zoo\applications\jbuniversal\framework\models\jbmodel.item.php
 
Чтобы  сделать подобные запросы лучше использовать запросы вида

$this->app->table->item->all(array(
            'conditions' => array(
                // условия
            )
        ));
 
Примеры условий можно найти тут - administrator\components\com_zoo\tables\item.php
К тому же в классе таблицы ($this->app->table->item) есть много готовых методов.

------
Чтобы вывести материал нужно создать рендерер и важно указать пути до шаблонов и стилей.
$renderer = $this->app->renderer->create('item')
    ->addPath(array(
        $this->app->path->path('component.site:'),
        $this->app->zoo->getApplication()->getTemplate()->getPath()
    ));

Далее вызываем рендеринг
echo $renderer->render('item.' . $item->type . '.teaser', compact('item', $item)); // нужно указать путь до шаблона тизера
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 12

#11 alexmixaylov

alexmixaylov

Отправлено 20 April 2015 - 18:06

Народ, ну помогите!  :)

нужная вещь архив, ведь так?

третий день бьюсь, не могу побороть

не получается вывести нормально тизеры

 

у меня вообще то там вывод таблицей идет

https://clck.ru/9UMue

отдельный шаблон для этого типа подтягивается в настройках категории

 

https://clck.ru/9UMur 

Это архив, тут появляются материалы из соседней категории, те у которых закончился срок публикации

 

правлю шаблон категории - получил нужные материалы

но не получается вывести их в нормальном виде

шаблон тизер не цепляется, выводится какой то бред

items_empty - всегда показывает ПУСТО

 

получается, что результат  мне нужно как то, куда то записать чтобы впоследствии отработал нормально рендеринг

куда? и как? 

<?php
defined('_JEXEC') or die('Restricted access');
$this->app->jbdebug->mark('layout::category::start');

// set vars
$category = $vars['object'];
$title = $this->app->string->trim($vars['params']->get('content.category_title', ''));
$title = $title ? $title : $category->name;

$template = $this->app->zoo->getApplication()->getTemplate();
$renderer = $this->app->renderer->create('item')
                    ->addPath(array(
                $this->app->path->path('component.site:'),
                $template->getPath()
            ));

//вывод архива
$parentID = $category->getParent()->id;
$now = strtotime(date('Y-m-d G:i:s'));
$null = strtotime('0000-00-00 00:00:00');

$options = array(
    'category_nested' => true, // выбирать из вложенный категорий
    'order' => 'alpha', // сортировка по ...
);

$items = JBModelItem::model()->getList(4, $parentID, 'tour', $options);

foreach ($items as $item) {
    //var_dump($renderer->render('item.teaser', array('item' => $item)));
    $down = trim(strtotime($item->publish_down));
    $state = $item->state;
    if($now > $down  AND $down >  $null AND   $state == 1){
        echo $renderer->render('item.teaser', compact('item', $item));
    }
}

$this->app->jbdebug->mark('layout::category::finish');
 

  • 0

#12 alexmixaylov

alexmixaylov

Отправлено 20 April 2015 - 18:48

Не это все бред

нужно писать контролер свой (наверное :)  )

 

потому что хоть оно и выводит кое как 

но не отображает материал из за того что у него закончился срок публикации


  • 0

#13 SmetDenis

SmetDenis

Отправлено 21 April 2015 - 08:01   Лучший Ответ

У функции скромный набор опций
Посмотрите исходник функции, чтобы не гадать как она работает
media\zoo\applications\jbuniversal\framework\models\jbmodel.item.php
 
Чтобы  сделать подобные запросы лучше использовать запросы вида
$this->app->table->item->all(array(
            'conditions' => array(
                // условия
            )
        ));
 
Примеры условий можно найти тут - administrator\components\com_zoo\tables\item.php
К тому же в классе таблицы ($this->app->table->item) есть много готовых методов.

------
Чтобы вывести материал нужно создать рендерер и важно указать пути до шаблонов и стилей.
$renderer = $this->app->renderer->create('item')
    ->addPath(array(
        $this->app->path->path('component.site:'),
        $this->app->zoo->getApplication()->getTemplate()->getPath()
    ));

Далее вызываем рендеринг
echo $renderer->render('item.' . $item->type . '.teaser', compact('item', $item)); // нужно указать путь до шаблона тизера

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!