Я хотел бы сделать часть страницы доступной для получения через AJAX. Я имею в виду использовать параметр URL, bare
, который будет указывать Magento представить страницу с другим шаблоном, примененным к блоку root . Шаблон bare выглядит следующим образом:
<?php echo $this->getChildHtml('content'); ?>
Вот и все! Идея состоит в том, что метод JavaScript может захватить только content
другой страницы и вставить ее в DOM, где это необходимо. (Я не хочу, чтобы это было возможно только на любой странице - только на страницах, которые были помечены для этого в макете XML.)
Я читал в другом месте, что Мне следует избегать условного макета xml . Единственный другой подход, который я могу придумать, - переопределить сам блок Page / Html, создав модифицированный метод setTemplate
, как показано ниже. Инстинктивно меня беспокоит переопределение такой основной части Magento.
public function setTemplate($template, $bareTemplate='')
{
$bareMode = Mage::app()->getRequest()->getParam('bare');
$targetTemplate = (!empty($bareTemplate) && $bareMode === '1') ? $bareTemplate : $template;
return parent::setTemplate($targetTemplate);
}
О каких лучших подходах я не подумал?