Skip to content

Instantly share code, notes, and snippets.

@berliozd
Last active December 14, 2018 16:11
Show Gist options
  • Save berliozd/1b8d166a9745b50b343a5681416a0537 to your computer and use it in GitHub Desktop.
Save berliozd/1b8d166a9745b50b343a5681416a0537 to your computer and use it in GitHub Desktop.
Magento get layout content
<?php
/**
* @param $handle
* @param $params
* @return string
* @throws Mage_Core_Exception
*/
private function getLayoutContent($handle, $params = null)
{
$layout = $this->getLayout();
$update = $layout->getUpdate();
$update->load($handle);
$layout->generateXml();
$layout->generateBlocks();
if ($params) {
foreach ($params as $blockName => $blockParams) {
foreach ($blockParams as $blockParamName => $blockParamValue) {
$layout->getBlock($blockName)->setData($blockParamName, $blockParamValue);
}
}
}
return $layout->getOutput();
}
private function getPopin(): string
{
return $this->getLayoutContent('ajaxcart_checkout_cart_ajax_popin',
['root' => ['productQty' => $this->productQty, 'productId' => $this->productId]]);
}
<?xml version="1.0" encoding="utf-8" ?>
<handle_name>
<block type="block/type" name="root" output="toHtml" template="template.phtml" />
</handle_name>
</layout>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment