Magento2块返回空模板(块#34的渲染器列表; cart \ grid_0"未定义错误)

时间:2018-04-11 09:19:15

标签: ajax magento magento2

我正在尝试进行Ajax调用。该页面正在调用一个函数" UpdatePost"在Checkout / Cart中,它会更新购物车并重新加载。我希望在页面上返回总价格。

此代码仅返回空内容["内容" =>""]。 当我在没有PHP代码的情况下重写form.phtml时,它会毫无问题地加载页面。

你有什么建议可以让它发挥作用吗?

我收到了阻止"购物车\ grid_0"未定义错误。

    $resultJson = $this->resultFactory->create(ResultFactory::TYPE_JSON);

    $block = $this->_view->getLayout(); 
    ->createBlock('Vendor\Module\Block\Rewrite\Checkout\Cart\Grid')
    ->setTemplate('Vendor_Module::cart/form.phtml');

    $data = ['content' => $block->toHtml()];

    $resultJson->setData($data);

    return     $resultJson;

1 个答案:

答案 0 :(得分:0)

你的块声明有一个拼写错误(分号后面是> getLayout();

$block = $this->_view->getLayout(); 
->createBlock('Vendor\Module\Block\Rewrite\Checkout\Cart\Grid')
->setTemplate('Vendor_Module::cart/form.phtml');

应该是;

 $block = $this->_view->getLayout()
->createBlock('Vendor\Module\Block\Rewrite\Checkout\Cart\Grid')
->setTemplate('Vendor_Module::cart/form.phtml');

你应该在你的块_construct方法中设置模板,在parent :: _ construct之后,如果存在;

protected function _construct()
{
    parent::_construct();
    $this->setTemplate('Vendor_Module::cart/form.phtml');
}