Не получилось - вывалилась ошибка
Call to undefined method ItemRenderer::getItem()
Я так понимаю - значит в this нет такого метода
Отправлено 21 April 2016 - 10:12
Не получилось - вывалилась ошибка
Call to undefined method ItemRenderer::getItem()
Я так понимаю - значит в this нет такого метода
Отправлено 21 April 2016 - 11:00
Yastroitel, вам нужно внутри метода render вторым параметром передать данный а именно объект материала. Как это делается можете посмотреть например в этой файле элемента (практически во всех элементах JBZoo):
\media\zoo\applications\jbuniversal\elements\jbquickview\jbquickview.php
Отправлено 21 April 2016 - 11:40
Вот примерно тут мой моск и поцарапался
Я же не использую нигде метод render
А может мне просто в шаблоне который вызывает как раз related article получить имя позиции и сохранить в какой нибудь глобальной переменной?
Отправлено 21 April 2016 - 11:46
Yastroitel, может я у же сам запутался. Покажите скриншотами что и где вы изменяете что бы получить имя материала? Что то мне кажется вы не шаблоне элемента работаете.
Отправлено 21 April 2016 - 12:32
Правлю шаблон related у определенного типа материала - именно он отображается в нужном мне материале
Нужную мне позицию вывожу в нужном мне стиле
Далее в самом стиле пишу такой код
Где $this->_item->name - по плану - должен выводить наименование основного материала, но он выводит название материала, который является related по отношению к основному.
Как то так
Отправлено 21 April 2016 - 13:35
Yastroitel, попробуйте получить объект материала через
$item = $element->getItem(); echo $item->name;
Отправлено 21 April 2016 - 13:49
Тот же результат - идентичен $this->_item->name
Отправлено 21 April 2016 - 15:02
Yastroitel, думаю вам нужно следующие решение, в выводите позиции например это шаблон full передайте материал в виде отдельного параметра:
<?php echo $this->renderPosition('year', array( 'style' => 'jbads', 'mainItem' => $item )); ?>
Далее в стиле позиции сделать вывод: