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

nightpatrol

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Не отображаются модули
« : 19.08.2016, 10:18:13 »
Добрый день! На Joomla 3.6 перестали отображаться модули, в логах хостинга выдаётся ошибка:
mod_fcgid: stderr: PHP Warning: Illegal string offset 'art-nostyle' in /var/www/vhosts/svet-svaroga.com/httpdocs/templates/ss_new_v2/html/modules.php on line 39
mod_fcgid: stderr: PHP Warning: call_user_func() expects parameter 1 to be a valid callback, function 'a' not found or invalid function name in /var/www/vhosts/svet-svaroga.com/httpdocs/templates/ss_new_v2/html/modules.php on line 39
Началось на ровном месте, не могу понять в чём дело. Подскажите пожалуйста.
« Последнее редактирование: 19.08.2016, 10:59:31 от nightpatrol »
*

nightpatrol

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Не отображаются модули
« Ответ #1 : 19.08.2016, 10:21:28 »
Строка содержит такой код:
call_user_func($style[$style], $module, $params, $attribs);
*

nightpatrol

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Не отображаются модули
« Ответ #2 : 19.08.2016, 11:01:58 »
Проблема возникает на версии php 7.0.9, на версии 5.4 работает. На более ранних версиях 7 php ошибки тоже не возникало.
*

nontad

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
  • nontad
Re: Не отображаются модули
« Ответ #3 : 05.11.2018, 07:23:07 »
Строка содержит такой код:
call_user_func($style[$style], $module, $params, $attribs);

Добрый день!

При переходе с версии PHP 5.6 на PHP 7.x по рекомендации Joomla при обновлении до версии Joomla 3.9.0 появляется
ошибка:


Warning: Parameter 2 to modChrome_artblock() expected to be a reference, value given in C:\OSPanel\domains\tg04112018.rus\templates\teplogik04032018\html\modules.php on line 39

строка№39: call_user_func($styles[$style], $module, $params, $attribs);


Warning: Parameter 3 to modChrome_artblock() expected to be a reference, value given in C:\OSPanel\domains\tg04112018.rus\templates\teplogik04032018\html\modules.php on line 39

строка№39: call_user_func($styles[$style], $module, $params, $attribs);


Warning: Use of undefined constant DS - assumed 'DS' (this will throw an Error in a future version of PHP) in C:\OSPanel\domains\tg04112018.rus\modules\mod_simple_informer\helper.php on line 130

строка№130: $folder = str_replace('\/',DS,$folder);

Warning: Use of undefined constant DS - assumed 'DS' (this will throw an Error in a future version of PHP) in C:\OSPanel\domains\tg04112018.rus\modules\mod_simple_informer\helper.php on line 131

 строка№130:  $folder = str_replace('\\',DS,$folder);

Как исправить? Кто знает?
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Re: Не отображаются модули
« Ответ #4 : 05.11.2018, 07:56:49 »
Warning: Use of undefined constant DS - assumed 'DS'
Решение
Вставить в начало конфликтующего файла (например, после строки типа

defined( '_JEXEC' ) or die( 'Restricted access' );
Код
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
*

nontad

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
  • nontad
Re: Не отображаются модули
« Ответ #5 : 05.11.2018, 15:40:38 »
Решение
Вставить в начало конфликтующего файла (например, после строки типа

defined( '_JEXEC' ) or die( 'Restricted access' );
Код
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);

Огромное Спасибо! Помогло. ошибка строки 130 и 131 исчезла.
Проблема строки 39 осталась.
код строки 39:
Код
call_user_func($styles[$style], $module, $params, $attribs);

Нашел ответ на зарубежных сайтах.
Ларчик открывался просто.
Вот решение проблемы ручное:

1.
Откройте папку шаблонов на сервере >> html/modules.phpфайл
2.
найдите следующие строки:
function modChrome_artnostyle($module, &$params, &$attribs)
function modChrome_artblock($module, &$params, &$attribs)
function modChrome_artvmenu($module, &$params, &$attribs)
function modChrome_artarticle($module, &$params, &$attribs)
и удалить &  символ, например:
function modChrome_artnostyle($module, $params, $attribs)
Это помогло мне.




« Последнее редактирование: 18.11.2018, 08:53:50 от nontad »
*

vetalist

  • Новичок
  • 7
  • 0 / 0
Re: Не отображаются модули
« Ответ #6 : 24.12.2018, 17:02:45 »
Нашел ответ на зарубежных сайтах.
Ларчик открывался просто.
Вот решение проблемы ручное:

1.
Откройте папку шаблонов на сервере >> html/modules.phpфайл
2.
найдите следующие строки:
function modChrome_artnostyle($module, &$params, &$attribs)
function modChrome_artblock($module, &$params, &$attribs)
function modChrome_artvmenu($module, &$params, &$attribs)
function modChrome_artarticle($module, &$params, &$attribs)
и удалить &  символ, например:
function modChrome_artnostyle($module, $params, $attribs)
Это помогло мне.

Помогло и мне, только я не сразу заметил что символа & на строчке - ДВА)  потому немного дольше тыркался.
Спасибо!
*

vmalyavin23

  • Новичок
  • 4
  • 0 / 0
Re: Не отображаются модули
« Ответ #7 : 09.09.2019, 16:16:28 »
Вставить в начало конфликтующего файла (например, после строки типа

defined( '_JEXEC' ) or die( 'Restricted access' );
Код
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);

Привет, сделал все так только по своей ошибке, сама ошибка ушла, но текст спустился вниз на главной странице, теперь не знаю что делать))
Изначально ошибка такая: Warning: Use of undefined constant clr - assumed 'clr' (this will throw an Error in a future version of PHP) in /var/www/u0193015/data/www/dou-10snk.ru/templates/dou-snk/index.php on line 30
я добавил выше такую строчку: if(!defined('clr')) define('clr', DIRECTORY_SEPARATOR); и текст страницы опустился вниз. Вобщем дальше не знаю что сделать, помогите если можете.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться