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

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Создал переопределение и хочу вывести в модуле последних новостей плагины

В com_content/article/default.php выводятся так
Код
<?php echo $this->item->event->beforeDisplayContent; ?>

в mod_articles_news/_item.php
Код
<?php echo $item->beforeDisplayContent; ?>


в mod_articles_latest/default.php - никак

В этой статье http://forum.joomla.org/viewtopic.php?t=927824 есть вроде как ответ, что
нужно добавить в helper.php
Код
$dispatcher = JEventDispatcher::getInstance();
PluginHelper::importPlugin('content');

потом в него же в цикл добавить
Код
$item->event = new stdClass();            
$item->event->beforeDisplayContent = trim(implode("\n", $results));
         
$results = $dispatcher->trigger('afterDisplayTitle', array('com_content.article', &$item, &$item->params, 0));
$item->event->afterDisplayTitle = trim(implode("\n", $results));
         
$results = $dispatcher->trigger('afterDisplayContent', array('com_content.article', &$item, &$item->params, 0));
$item->event->afterDisplayContent = trim(implode("\n", $results));

и тогда все будет выводится вот так
Код
<?php echo $item->event->beforeDisplayContent; ?>

Но пробовал, ничего подобного
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #1 : 12.07.2016, 12:37:21 »
Опаньки! Решил все таки вывести плагин через модуль Новости в mod_articles_news/_item.php

Код
<?php echo $item->beforeDisplayContent; ?>

Кстати, вывожу Extravote. Может это в нем проблема ?
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #2 : 12.07.2016, 13:31:29 »
Обычный рейтинг тоже не выводится. Значит модуль и Последние Новости и Новости не обрабатывается плагинами.
В настройках обработки нет.

Странно, а в коде модуля Новости в _item.php код <?php echo $item->beforeDisplayContent; ?> присутствует, который не работает (((
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #3 : 12.07.2016, 13:42:31 »
Кстати, вывожу Extravote. Может это в нем проблема ?

Ответа не дам, но тоже поплачусь в вашей теме.
У меня задача вывести Extravote в макете блога (в самом низу, после всех отображаемых материалов)- никак не могу сделать.
Дошел до beforeDisplayContent; но такое ощущение в блоге не работает.

Если подскажете как вывести Extravote в конце блога - буду признателен. (Какая магическая комбинация php?)
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #4 : 12.07.2016, 13:48:41 »
В макете блога работает без проблем.

Может быть у вас в настройках плагина стоит Hide in blog views ?
Или в пункте меню стоит Не показывать рейтинг ?
*

SmokerMan

  • Гуру
  • 5293
  • 719 / 26
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #5 : 12.07.2016, 13:52:30 »
Обычный рейтинг тоже не выводится. Значит модуль и Последние Новости и Новости не обрабатывается плагинами.
В настройках обработки нет.
там контекст может быть другой в модуле "com_content.article", поэтому плагин может его пропускает
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #6 : 12.07.2016, 13:56:04 »
Очень был бы благодарен, если бы вы поподробнее объяснили
*

SmokerMan

  • Гуру
  • 5293
  • 719 / 26
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #7 : 12.07.2016, 14:14:26 »
вот пример для этого файла
Цитировать
в mod_articles_latest/default.php - никак

Код
defined('_JEXEC') or die;

JPluginHelper::importPlugin('content');
$app       = JFactory::getApplication();
$params->set('show_vote', true);

?>
<ul class="latestnews<?php echo $moduleclass_sfx; ?>">
<?php foreach ($list as $item) :  ?>
<li itemscope itemtype="https://schema.org/Article">
   <?php
   //выводим результат плагинов
   $results = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 1));
   echo implode('', $results);
     ?>
<a href="<?php echo $item->link; ?>" itemprop="url">
<span itemprop="name">
<?php echo $item->title; ?>
</span>
</a>
</li>
<?php endforeach; ?>
</ul>

стандартный рейтинг должен работать, насчет Extravote не знаю
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #8 : 12.07.2016, 14:20:07 »
В макете блога работает без проблем.

Может быть у вас в настройках плагина стоит Hide in blog views ?
Или в пункте меню стоит Не показывать рейтинг ?

Немножко не поняли вы идею.
Про "Hide in blog views" я в курсе.
Я хочу не рейтинг МАТЕРИАЛОВ при отображении блогом, а рейтинг БЛОГА, т.е., чтобы blog.php выводился вот так

-----------------------------------------
------Заголовок блога------
Статья 1 Статья 2
Статья 3 Статья 4
-----------------------
Оцените этот блог : * * * * *
--------------------------------------------

Как это сделать - не могу наковырять.
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #9 : 12.07.2016, 17:09:04 »
Может быть вывести через теги в описании категории материалов блога ?
Пробывали ?
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #10 : 12.07.2016, 17:23:16 »
Решение от SmokerMan работает. Тему можно отметить решенной.
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #11 : 12.07.2016, 17:57:14 »
Может быть вывести через теги в описании категории материалов блога ?
Пробывали ?
Не помню, по-моему пробовал.  Вечером еще раз попробую.
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #12 : 12.07.2016, 22:15:06 »
Может быть вывести через теги в описании категории материалов блога ?
Пробывали ?

Попробовал. Если добавляю в описание категории тег {extravote 5}, то он не парсится в звезды, а так и выводится текстом "{extravote 5}"
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #13 : 14.07.2016, 01:49:21 »
Значит плагины не подключаются в templates/your_template_name/html/category/blog.php

Для вывода плагинов нужно подключить beforeDisplayContent в blog.php
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #14 : 14.07.2016, 08:50:06 »
Значит плагины не подключаются в templates/your_template_name/html/category/blog.php

Для вывода плагинов нужно подключить beforeDisplayContent в blog.php
Попробую вечером. Отпишусь по результату.
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #15 : 14.07.2016, 08:58:55 »
Да тоже вроде пробовал. Еще раз попробую вечером. Отпишусь по результату.
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #16 : 14.07.2016, 13:47:59 »
Я сейчас пробую вывести его в com_tags/tag/default_item.php (вывод результата сортировки по тегу).

У меня не получается ни так:
Код
JPluginHelper::importPlugin('content');
$app       = JFactory::getApplication();
$params->set('show_vote', true);

$results = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 1));
echo implode('', $results);

ни так:
Код
echo JHTML::_('content.prepare', '{extravote 1}'); 
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #17 : 16.07.2016, 13:03:34 »
По прежнему пытаюсь вывести рейтинг блога целиком.
(Включен стандартный рейтинг и extravote).

по совету SmokerMan
делаю так
В шапке файла blog.php добавляю

Код
$app    = JFactory::getApplication();
JPluginHelper::importPlugin('content');
$params = JComponentHelper::getParams('com_content'); // Без этой строчки не работает следующая
$params->set('show_vote', true);

Далее в теле шаблона blog.php указываю
Код
	   <?php 
   //выводим результат плагинов
   $results = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 1));
   echo implode('', $results);
     ?>

Выдаёт ошибку
Для Extravote
Код
Notice: Trying to get property of non-object in C:\OpenServer\domains\site.ru\plugins\content\extravote\extravote.php on line 34 
где 34 строка это $this->article_id = $article->id; 
Я понимаю, что у меня не article а blog, и следовательно эта конструкция выполнится не может.

Для стандартного рейтинга

Код
Notice: Trying to get property of non-object in C:\OpenServer\domains\site.ru\plugins\content\vote\vote.php on line 74
где 74 строка это . '<meta itemprop="ratingCount" content="' . (int) $row->rating_count . '" />'

Пробовал менять в запросе com_content.article на com_content.category. Результат тот же.

Куда копать?

*

SmokerMan

  • Гуру
  • 5293
  • 719 / 26
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #18 : 16.07.2016, 19:58:57 »
Куда копать?
это отдельная тема уже
по поводу extravote насколько я помню там можно было вставлять отдельные конструкции в материал типа {extravote... чего-то там}, для создания несколько опросов
так вот можно попробовать эту конструкцию запилить в описание категории, может что-то и выйдет)
если нет, то скорее всего придется переделывать или писать свой плагин, т.к. там привязка идет к конкретному, объекту - материалу, а не категории, т.е. надо менять логику
*

ice99

  • Захожу иногда
  • 85
  • 3 / 0
Re: Вывод beforeDisplayContent в mod_articles_latest
« Ответ #19 : 16.07.2016, 21:24:39 »
по поводу extravote насколько я помню там можно было вставлять отдельные конструкции в материал типа {extravote... чего-то там}, для создания несколько опросов
так вот можно попробовать эту конструкцию запилить в описание категории, может что-то и выйдет)
Попробовал. Если добавляю в описание категории тег {extravote 5}, то он не парсится в звезды, а так и выводится текстом "{extravote 5}"

если нет, то скорее всего придется переделывать или писать свой плагин, т.к. там привязка идет к конкретному, объекту - материалу, а не категории, т.е. надо менять логику
Ну php немного поковырять еще куда не шло, но боюсь свой плагин написать не осилю.
Может есть какой-то костыль? Например вывести под блогом материал, который и выдать за оценку блога, или ReReplacer-ом что-нибудь намутить?
Блин, на официальном форуме тоже не обрадовали. Перегуглил весь интернет, никто и близко не ставил такой задачи, но мне она кажется вполне логичной.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод дополнительных полей Joomla 3.7 в шаблоне статьи

Автор mrN

Ответов: 9
Просмотров: 892
Последний ответ 06.12.2017, 10:28:56
от Mitriy
Вывод модуля только на странице контента

Автор martini

Ответов: 3
Просмотров: 87
Последний ответ 18.11.2017, 19:11:34
от effrit
Вывод последних материалов

Автор mario052

Ответов: 4
Просмотров: 152
Последний ответ 16.11.2017, 15:50:51
от mario052
вывод материалов по меткам!!!

Автор troll2342

Ответов: 6
Просмотров: 221
Последний ответ 13.11.2017, 14:58:05
от Septdir
Вывод исключительно избранных материалов в RSS

Автор alexey711

Ответов: 2
Просмотров: 70
Последний ответ 08.11.2017, 14:30:52
от alexey711