如何在displayajax()函数中显示“已分配的模板变量”(我使用的是prestashop 1.5.6.0)。
如果你去:
sitedomain/index.php?id_product=1&controller=product you see the product
但如果你去:
sitedomain/index.php?id_product=1&controller=product&ajax=true you see a blank page
在该页面中有一些输出我在ProductController.php中添加了这个函数,它可以工作:
public function displayAjax()
{
echo "something";
}
如何访问prestashop调试控制台中常见的所有“已分配的模板变量”...就像$ combinations $ groups ...
谢谢!
答案 0 :(得分:1)
可以通过以下代码返回指定的模板变量:
$this->context->smarty->getTemplateVars();
或者如果您需要特定的变量:
$this->context->smarty->getTemplateVars('combinations');
方法getTemplateVars()返回这些变量,因此您可以使用标准函数转储它:
var_dump($this->context->smarty->getTemplateVars());
你可以在displayAjax()方法中添加它。
如果设置了调试参数(默认情况下为SMARTY_DEBUG),您也可以调用调试窗口,这样就像
index.php?id_product=1&controller=product&ajax=1&SMARTY_DEBUG
使用以下displayAjax():
public function displayAjax()
{
$this->context->smarty->display($this->context->smarty->getDebugTemplate());
}
会弹出窗口。
答案 1 :(得分:0)
public function displayAjax()
{
$array= $this->context->smarty->tpl_vars['combinations'];
foreach($array as $k => $v)
{
//some code
}
}