Prestashop Ajax显示已分配的模板变量

时间:2013-10-14 17:47:28

标签: php prestashop

如何在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 ...

谢谢!

2 个答案:

答案 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
        }
    }