Проблема, с которой я столкнулся раньше, была очень расстроена, как её решить, и теперь я наконец нашла решение, и теперь я поделюсь им с вами, проблема такова: Строгие стандарты: В строке 418 должны передаваться только переменные по ссылке в upload\includes\cls_template.php Строка 418: $tag_sel = array_shift(explode(' ', $tag));
Обходной путь 1: Проблема с версиями 5.3 и выше также связана с конфигурацией. Пока строка 418 делит это предложение на два предложения, нет проблемы $tag_sel = array_shift(explode(' ', $tag)); Изменено на:
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr); Поскольку параметры array_shift передаются по ссылке, по умолчанию можно передавать только определённые переменные выше 5.3, и значение не может быть возвращено через функцию Аналогично, при ошибках вложения функций их можно записать отдельно, и ошибки решаются естественным путём
Как: функция get_dyna_libs($theme, $tmp)
{ $extsub = взрыв('.', $tmp); $ext = конец($extsub); $tmp = basename($tmp,".$ext"); $sql = 'ВЫБЕРИТЕ регион, библиотеку, sort_order, идентификатор, номер, тип'. ' ОТ ' . $GLOBALS['ecs']->table('template') . " ГДЕ тема = '$theme' А имя файла = '" . $tmp . "' И тип > 0 И замечания=''". «ПОРЯДОК ПО РЕГИОНАМ, БИБЛИОТЕКЕ, sort_order»; $res = $GLOBALS['db']->getAll($sql); $dyna_libs = массив(); foreach ($res AS $row)
{ $dyna_libs[$row['region']][$row['library']][] = array( 'id' => $row['id'], 'число' => $row['число'], 'type' => $row['type'] );
} return $dyna_libs;
}
set $ext = end(explode('.', $tmp)); Перемены $extsub = взрыв('.', $tmp); $ext = конец($extsub);
Решение 2 (Ошибка маскировки):
Или, если настроить так: error_reporting = E_ALL | E_STRICT В php.ini доступны следующие настройки: error_reporting = E_ALL | E_STRICT
Это означает, что отображаются предупреждения о стандартах кодирования. Joomla на самом деле рекомендует отменить вывод ошибок, который при необходимости следует изменить для отладки error_reporting = E_ALL & ~E_NOTICE
Проблема была решена. |