Недостающие блоки в живой системе
Мы переключаем наш магазин в реальном времени (сменили домен, очистили кэш), и теперь ajax-запросы возвращают пустые блоки.
Проблема, связанная с расширением Hardik/Ajaxcart. Если вы добавляете статью в свою корзину, она делает запрос ajax и обновляет некоторые блоки в представлении.
Запросы Ajax в порядке и возвращают данные, но блоки отсутствуют:
/checkout/cart/add/uenc/aHR0cHM6Ly93d3...0bWw,/product/399/form_key/kKNZaJaumNoauq1z/
Здесь блоки должны загружаться в Hardik_Ajaxcart_Model_Response::addUpdatedBlocks()
$updated_blocks = unserialize(Mage::getStoreConfig('ajaxcart/general/update_blocks'));
if ($updated_blocks) {
$layout = Mage::getSingleton('core/layout');
$res = array();
foreach ($updated_blocks['id'] as $index => $block) {
$value = $layout->getBlock($updated_blocks['xml'][$index]);
Настройки загружаются в $updated_blocks
, но $layout->getBlock()
возвращает ничего.
Обновление
Может ли это быть конфигурация apache или прокси-сервер?
Via:1.1 rproxy (squid)
X-Cache:MISS from rproxy
Обновление 2
Похоже, прокси съедает параметры ЗАПИСИ...
1 answers
Оказывается, была дополнительная /в переписывании URL-адреса Apache, которая привела к потере параметров записи. Без параметров POST ajax-запрос не загружал эти блоки.