我正在尝试进行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;
答案 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');
}