Ответить Новая тема Новый опрос 
 Белый экран после редактирования кэша
kostjankgs
Новичок
Сообщений: 4
Регистрация: 26-05-2014


10-09-2014 13:43
Зашел в настройки кэша, отключил кеширование. После этого делал бэкапы, добавлял товары и много всего. Теперь если захожу в кэш, то при загрузке любой другой страницы в админке - белый экран и сайт также уходит в белый экран. Включил вывод ошибок: в админке пишет Fatal error: Undefined class constant 'CACHE_FILE_TAB_MODULES_LIST' in /home/t/turniki59/public_html/classes/controller/AdminController.php on line 1461
а на сайте Fatal error: Call to a member function getGlobal() on a non-object in /home/t/turniki59/public_html/override/classes/Customer.php on line 92

Помогите разобраться, плиз!!!
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


10-09-2014 14:39
Скорее всего в ИМ используются сторонние переопределения (override)

Откройте файл /override/classes/module/Module.php
и после:
Код:
protected $smarty;

добавьте:
Код:
const CACHE_FILE_MODULES_LIST = '/config/xml/modules_list.xml';
const CACHE_FILE_TAB_MODULES_LIST = '/config/xml/tab_modules_list.xml';
const CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST = '/config/xml/default_country_modules_list.xml';
const CACHE_FILE_CUSTOMER_MODULES_LIST = '/config/xml/customer_modules_list.xml';
const CACHE_FILE_MUST_HAVE_MODULES_LIST = '/config/xml/must_have_modules_list.xml';



По следующей ошибке:
Цитата:( kostjankgs @ 10-09-2014 14:43 Смотреть сообщение )
а на сайте Fatal error: Call to a member function getGlobal() on a non-object in /home/t/turniki59/public_html/override/classes/Customer.php on line 92


Необходим файл /override/classes/Customer.php, также необходимо знать каким модулем или файлом используется метод getGlobal.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
kostjankgs
Новичок
Сообщений: 4
Регистрация: 26-05-2014


10-09-2014 14:47
Цитата:( Алекс @ 10-09-2014 13:39 Смотреть сообщение )
Скорее всего в ИМ используются сторонние переопределения (override)

Откройте файл /override/classes/module/Module.php

такого файла у меня нет (

По следующей ошибке:
Цитата:( kostjankgs @ 10-09-2014 14:43 Смотреть сообщение )
также необходимо знать каким модулем или файлом используется метод getGlobal.

как это узнать?


Вложения:

Вложения Customer.php.zip( Размер файла: 1.34KB Скачиваний: 75 )
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


10-09-2014 15:33
Цитата:( kostjankgs @ 10-09-2014 15:47 Смотреть сообщение )
такого файла у меня нет (
Тогда откройте и проверьте файл /classes/module/Module.php в нем должна быть следующая строка:
Код:
const CACHE_FILE_TAB_MODULES_LIST = '/config/xml/tab_modules_list.xml';

Так должен выглядеть данный файл для prestashop 1.5.4.1: https://github.com/PrestaShop/PrestaShop/blob/1.5......dule/Module.php


По приложенному выше файлу Customer.php:
Код:
global $smarty;
$sn_servl = $smarty->getGlobal('fr_sn_servlist');

Использовать подобную схему при еще не инициализированном шаблоне нельзя.
Работать данный код не будет!
Для работы данных методов перепишите эти конструкции.

Для восстановления работы ИМ:
1. Удалить файл /override/classes/Customer.php
2. Удалить файл /cache/class_index. php
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
kostjankgs
Новичок
Сообщений: 4
Регистрация: 26-05-2014


10-09-2014 15:44
Цитата:( Алекс @ 10-09-2014 14:33 Смотреть сообщение )
Цитата:( kostjankgs @ 10-09-2014 15:47 Смотреть сообщение )
такого файла у меня нет (
Тогда откройте и проверьте файл /classes/module/Module.php в нем должна быть следующая строка:
Код:
const CACHE_FILE_TAB_MODULES_LIST = \'/config/xml/tab_modules_list.xml\';

Так должен выглядеть данный файл для prestashop 1.5.4.1: https://github.com/PrestaShop/PrestaShop/blob/1.5......dule/Module.php
этот файл есть и выглядит точно так же
Код:
const CACHE_FILE_TAB_MODULES_LIST = \'/config/xml/tab_modules_list.xml\';
присутствует

Для восстановления работы ИМ:
1. Удалить файл /override/classes/Customer.php
2. Удалить файл /cache/class_index. php

после удаления ошибка стала Fatal error: Call to undefined method Module::preCall() in /home/t/turniki59/public_html/classes/Hook.php on line 415


Сообщение отредактировано kostjankgs 10-09-2014 14:46 ...
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


10-09-2014 16:09
Цитата:( kostjankgs @ 10-09-2014 16:44 Смотреть сообщение )
после удаления ошибка стала Fatal error: Call to undefined method Module::preCall() in /home/t/turniki59/public_html/classes/Hook.php on line 415


Цитата:( Алекс @ 10-09-2014 16:33 Смотреть сообщение )
Так должен выглядеть данный файл для prestashop 1.5.4.1: https://github.com/PrestaShop/PrestaShop/blob/1.5......dule/Module.php


Цитата:( kostjankgs @ 10-09-2014 16:44 Смотреть сообщение )
этот файл есть и выглядит точно так же


Если файл Module.php "выглядит точно так же" тогда по коду метод preCall должен быть доступен!

Как вариант используется кеш файлов (apc.stat итп.).
Если нет - отправьте в ПМ доступ к ftp (посмотрю).
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос