sergeytolkachyov/WT-Content-Like

Event onContentBeforeDisplay only accepts String results

Closed this issue · 5 comments

Joomla 5.0.0
На сайте есть пункт меню "Контакты", выводит список всех контактов.
Так вот, когда переходишь на страницу контактов, получаю ошибку "Event onContentBeforeDisplay only accepts String results". Оказалось, что это из-за плагина. Хотя в материалах плагин WT Content Like работает прекрасно.
Пришлось в файле wt_content_like.php в функции onContentBeforeDisplay принудительно выводить return strval(....)
На Joomla 4 всё работало.

1inkin commented

и "Event onContentAfterDisplay only accepts String results" тоже.

@mediafoks @1inkin - Было очень интересно, но ничего не понятно...
Куда этот strval подставить, т.е. к какому виду нужно привести код функции?
Если не затруднит, то покажите, пожалуйста, "кусочек" этого кода.

@mediafoks @1inkin- Было очень интересно, но ничего не понятно... Куда этот стрвал подставить.

В файле wt_content_like.php 59 строка:
было:
return $this->showLikeButton($context, $row, $params, $limitstart = 0);

стало:
return strval($this->showLikeButton($context, $row, $params, $limitstart = 0));

По такому же принципу сделать в 64, 96, 101, 134, 139 строках. Т.е. нужно обернуть то, что возвращает функция (return) в strval(), иначе говоря, сделать чтобы функция возвращала строковое значение.

@mediafoks @1inkin- Было очень интересно, но ничего не понятно... Куда этот стрвал подставить.

В файле wt_content_like.php 59 строка: было: return $this->showLikeButton($context, $row, $params, $limitstart = 0);

стало: return strval($this->showLikeButton($context, $row, $params, $limitstart = 0));

По такому же принципу сделать в 64, 96, 101, 134, 139 строках. Т.е. нужно обернуть то, что возвращает функция в strval(), иначе говоря, сделать чтобы функция возвращала принудительно строку.

БлагоДарю! Вы ОЧЕНЬ помогли! Всего Вам самого наилучшего во всех добрых начинаниях!

@1inkin @mediafoks @vsredov плагин сделан по старой пока архитектуре, на Joomla 5 не тестировался. Поэтому и возникают подобные ошибки. Сейчас решили хаком пока проблему - ок. Перепишу на новую архитектуру - проблема исчезнет.