Prestashop 1.6 пустая страница без сообщений об ошибках

Я включил отчеты об ошибках и режим отладки:

//defines.inc.php
define('_PS_MODE_DEV_', true);
@ini_set('display_errors', 'on');
define('_PS_DEBUG_SQL_', true);

Также у меня есть -f php_error.log, apache_error.log, mysql_error.log
Единственное отношение, которое я получил, это:

[01-Dec-2014 10:12:07 America/Bogota] PHP Notice:  Trying to get property of non-object in /Users/david/Documents/Developer/Php/PuntoCompra/puntocompra/modules/posstaticblocks/ajax.php on line 9
[01-Dec-2014 10:12:07 America/Bogota] PHP Fatal error:  Uncaught You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 4<br /><br /><pre>
SELECT m.*
FROM `puntocom_module` m
JOIN `puntocom_module_shop` ms ON (m.`id_module` = ms.`id_module` AND ms.`id_shop` = 1)
WHERE m.`id_module` =  LIMIT 1</pre>
thrown in /Users/david/Documents/Developer/Php/PuntoCompra/puntocompra/classes/db/Db.php on line 635

Я не думаю, что это связано с тем, что фронт и бэк-офис работают нормально, за исключением того, что когда я отправляю или обновляю продукт у меня есть пустая страница. Это происходит как в условиях разработки, так и в производственных условиях.

В любом случае, вот мой ajax.php

require_once(dirname(__FILE__).'../../../config/config.inc.php');
require_once(dirname(__FILE__).'../../../init.php');
include(dirname(__FILE__).'/posstaticblocks.php');

$pos = new posstaticblocks();
$name_module = $_POST['module_id'];
$module = Module::getInstanceByName($name_module);
$id_module = $module->id;
$hooks = $pos->getHooksByModuleId($id_module);
$hookArrays = array();
foreach($hooks as $key => $hook) {
$hookArrays[$key] = array('id_hook'=>$hook['name'], 'name' => $hook['name']);
}
$json = json_encode($hookArrays);
die(json_encode($json));

Также я думаю, что это не связано, но в моем фронт-офисе только в среде разработки у меня есть это:

 Notice: Undefined property: Possearchcategories::$_html in /Users/david/Documents/Developer/Php/PuntoCompra/puntocompra/modules/possearchcategories/possearchcategories.php on line 237

Я также очистил кеш.

Где еще я могу найти эту проблему?

Редактировать:
Это мой URL до обновления продукта:

//localhost:8888/adminxxxx/index.php?controller=AdminProducts&id_product=10&updateproduct&token=019b50f16c6927fc989c8d98fa9ebbed

И это после моего обновления

//localhost:8888/adminxxxx/index.php?controller=AdminProducts&token=019b50f16c6927fc989c8d98fa9ebbed&id_product=10

Я проверил сетевой ответ, и вот что показывает firebug:

AJAX пост ответ?

пустой ответ

Это заставляет меня думать, что в ответе ajax с неотвечающим запросом в указанном выше файле ajax.php есть ошибка. Кажется, что отсутствует модуль ..

Изменить 2:

Оказывается, что при загрузке страницы продуктов есть следующий пост-запрос ajax:

POST //localhost:8888/modules/posstaticblocks/ajax.php

Со следующими параметрами:

module_id   undefined

И ответ:

"[{\"id_hook\":\"displayFooter\",\"name\":\"displayFooter\"},{\"id_hook\":\"displayHome\",\"name\":\"displayHome\"},{\"id_hook\":\"displayLeftColumn\",\"name\":\"displayLeftColumn\"},{\"id_hook\":\"displayRightColumn\",\"name\":\"displayRightColumn\"},{\"id_hook\":\"displayTop\",\"name\":\"displayTop\"}]"

Итак, я сделал следующее не убивай меня, пожалуйста мод:

// /modules/poststaticblocks/ajax.php
$name_module = $_POST['module_id'];
if($name_module == "undefined")
$name_module = "posstaticblocks";

И ошибка исчезла !, но пустая страница все еще показывает

2

Решение

измените строку 451 в /controllers/admin/AdminModulesPositionsController.php

$all_modules_controllers = Dispatcher::getModuleControllers($type);

в

$all_modules_controllers = Dispatcher::getControllers($type);

Что, похоже, устранило проблему, не дав новых проблем.

Так что это должно быть ошибкой в ​​новом Prestashop ver. 1.6.0.6

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]