Jump to content


Photo
- - - - -

Не выводятся некоторые элементы


Best Answer SmetDenis , 05 August 2016 - 14:57

Такой кастомный метод рендеринга материалов не сработает, т.к каждый из них должен работать в свой контексте (можно расценивать как пространство переменных) рендерера.

 

Примерно так.

 
$renderer = $this->app->renderer->create('item')->addPath([
    $this->app->path->path('component.site:'),
    $item->getApplication()->getTemplate()->getPath()
]);
 
echo $this->app->jblayout->renderItem($item, 'item-layout', $renderer);

PS Доступ лучше давать в личку ;)

Go to the full post


  • This topic is locked This topic is locked
3 replies to this topic

#1 Denn Loginov

Denn Loginov
  • JBZoo User (rus)
  • User rate: 0
  • posts: 31
  • topics: 7

Posted 02 August 2016 - 13:24

Делаю свой шаблон подкатегории.

Для него использую свои шаблоны вывода маетриалов.

Проблема заключается в том, что для первой подкатегории вывод работает нормально, а в оставшихся категориях вывод изображения и текста с позициё почему-то не работает.

Позиции прописаны, в самих материалах есть контент.


  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 03 August 2016 - 07:52

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



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


#3 Denn Loginov

Denn Loginov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 31
  • topics: 7

Posted 03 August 2016 - 08:26

Покажи соответствующие настройки и желательно ссылку на эти категории.

Делается локально
 
Материал получается через 

$itemmain      = JBModelCategory::model()->getItemsByCategory($subcategory->application_id, $subcategory->id, $itemsOrder, 1);

По дампу, вся инфа в нём есть. После идет вызов шаблона для каждой подкатегории:

 foreach ($itemmain as $itemm) {
            echo $this->app->jblayout->renderItem($itemm, 'categorymain');
        }

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

<?php
/**
 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
 *
 * @package     jbzoo
 * @version     2.x Pro
 * @author      JBZoo App http://jbzoo.com
 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.
 * @license     http://jbzoo.com/license-pro.php JBZoo Licence
 * @coder       Vitaliy Yanovskiy <joejoker@jbzoo.com>
 */

// no direct access
defined('_JEXEC') or die('Restricted access');


$this->app->jbassets->jbzooLinks();

?>
<?php if ($this->checkPosition('description') ||
    $this->checkPosition('title') ||
    $this->checkPosition('date') ||
    $this->checkPosition('image')
)  : ?>
    <div class="wrapper-item-desc">
    <?php  
       if ($this->checkPosition('image')) : ?>
            <?php echo $this->renderPosition('image'); ?>
        <?php endif; ?>

        <?php if ($this->checkPosition('description') ||
            $this->checkPosition('title') ||
            $this->checkPosition('properties') ||
            $this->checkPosition('date')
        )  : ?>
            <div class="item-wrapper-desc">

                <?php if ($this->checkPosition('date')) : ?>
                    <div class="time"><?php echo $this->renderPosition('date'); ?></div>
                <?php endif; ?>

                <?php if ($this->checkPosition('title')) : ?>
                    <h2 class="main-article-header"><?php echo mb_substr($this->renderPosition('title'), 0, 50, 'UTF-8'); ?></h2>
                <?php endif; ?>

                <?php if ($this->checkPosition('description')) : ?>
                    <div class="main-article-description"><?php echo mb_substr($this->renderPosition('description'), 0, 105, 'UTF-8'); ?></div>
                <?php endif; ?>

            </div>

        <?php endif; ?>

    </div>
<?php endif; ?>

https://yadi.sk/i/X21qb9oHtsNVw - первая подкатегория

https://yadi.sk/i/w8l7Er2VtsP74 - её отображение

https://yadi.sk/i/AgznyzHHtsPQy - другая подкатегория

https://yadi.sk/i/62yZkmgftsPU5 - материалы с других подкатегорий

 


Edited by Denn Loginov, 03 August 2016 - 08:59.

  • 0

#4 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 05 August 2016 - 14:57   Best Answer

Такой кастомный метод рендеринга материалов не сработает, т.к каждый из них должен работать в свой контексте (можно расценивать как пространство переменных) рендерера.

 

Примерно так.

 
$renderer = $this->app->renderer->create('item')->addPath([
    $this->app->path->path('component.site:'),
    $item->getApplication()->getTemplate()->getPath()
]);
 
echo $this->app->jblayout->renderItem($item, 'item-layout', $renderer);

PS Доступ лучше давать в личку ;)


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



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





Click to return to top of page in style!