Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 13776|Відповідь: 1

[Взаємодопомога] Як виправити помилку Includes\cls_template.php у рядку 418 в ecshop

[Копіювати посилання]
Опубліковано 20.02.2015 17:20:02 | | |

Проблема, з якою я зіткнувся раніше, була дуже засмучена, як її вирішити, і тепер я нарешті знайшов рішення, і тепер поділюся ним з вами, проблема така:
Суворі стандарти: У завантаження\includes\cls_template.php на рядку 418 слід передавати лише змінні за посиланням
Рядок 418: $tag_sel = array_shift(вибух(' ', $tag));

Обхідний шлях 1:
Проблема з версіями 5.3 і вище також має бути пов'язана з конфігурацією. Поки рядок 418 розділяє це речення на два речення, немає проблеми $tag_sel = array_shift(explode(' ', $tag)); Змінено на:

$tag_arr = вибух(' ', $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 = 'SELECT регіон, бібліотеку, sort_order, id, number, type' .
' ВІД ' . $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']
);
}
повернути $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

Проблема була вирішена.




Попередній:Інтерфейс API просторової інформації QQ
Наступний:Яка система особистого блогу краща — давайте поговоримо про це
Опубліковано 21.02.2015 21:13:21 |
Рекомендується безпосередньо зменшити версію PHP до PHP5.2.x
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com