Magento“$ this-> loadLayout()”在AJAX中消耗很长时间

时间:2016-03-21 07:49:27

标签: php magento

我是magento&的新手我想在我的新网站上添加“AJAX购物车”功能。然后我按照本教程。 http://excellencemagentoblog.com/blog/2011/10/04/magento-add-product-to-cart-ajax/

但我注意到它需要很长时间才能回应。原因是“$ this-> loadLayout()”在下面的代码中消耗很长时间。

$this->loadLayout();
$sidebar = $this->getLayout()->getBlock('cart_sidebar')->toHtml();

在google上花了一些时间之后,我将代码更改为fallowing。

$sidebar = $this->getLayout()->createBlock('checkout/cart_sidebar')->setTemplate('path_my _template.phtml')->toHtml();

然后时间从20秒减少到5秒。除了url之外,两个代码的输出都相同。我在模板中打印(回显)“结帐URL”。在第一个代码中,URL以“?__ SID”结束,但不在第二个代码中结束。

有人知道为什么会这样吗?我想减少项目添加时间并获得安全URL。

1 个答案:

答案 0 :(得分:0)

我已经通过将代码更改为休闲来解决了这个问题。

$this->getLayout()->createBlock('page/html');
$sidebar = $this->getLayout()->createBlock('checkout/cart_sidebar')->setTemplate('path_my _template.phtml')->toHtml();