如何扩展 Prestashop ajaxCall 函数以显示 tpl 文件内容?
How to extend Prestashop ajaxCall function to show tpl file content?
我在扩展位于 blocklayered.php
中的 ajaxCall 函数时遇到问题
$smarty->assign(
array(
'myVariable' => 10,
'homeSize' => ...,
'nb_products' => $nb_products,
...
));
在我的 product-list.tpl 文件中我有这个
{if isset($myVariable)}
{$myVariable}
{/if}
然后当我使用 blocklayered(选择一个过滤器选项)时,页面被 AJAX 刷新并显示结果显示 10 那是我的 我的变量值。
问题是:如何显示其他内容而不是 10 像包含其他内容的 .tpl 文件?
我也试试:
$smarty->assign(
array(
'myVariable' => $my_variable,
'homeSize' => ...,
'nb_products' => $nb_products,
...
));
...
$my_variable = $smarty->fetch(_PS_THEME_DIR_.'my_content.tpl');
没有成功... JSON myVariable 是空投掷
" \n "
你做的很好,只是顺序错了(或者显示顺序错了)。首先,您需要创建包含模板数据的变量,然后才使用它,例如:
$smarty->assign('myVariable', $smarty->fetch(_PS_THEME_DIR_.'my_content.tpl')));
或者先$myVariable = ... 然后赋值给tpl变量。
在这种情况下 myVariable 将包含 tpl 文件的内容。当然如果你想从PHP(我的意思不仅仅是纯粹的html)在my_content.tpl中传输一些其他数据,你需要分配首先,在 fetch
之前
我在扩展位于 blocklayered.php
中的 ajaxCall 函数时遇到问题$smarty->assign(
array(
'myVariable' => 10,
'homeSize' => ...,
'nb_products' => $nb_products,
...
));
在我的 product-list.tpl 文件中我有这个
{if isset($myVariable)}
{$myVariable}
{/if}
然后当我使用 blocklayered(选择一个过滤器选项)时,页面被 AJAX 刷新并显示结果显示 10 那是我的 我的变量值。
问题是:如何显示其他内容而不是 10 像包含其他内容的 .tpl 文件?
我也试试:
$smarty->assign(
array(
'myVariable' => $my_variable,
'homeSize' => ...,
'nb_products' => $nb_products,
...
));
...
$my_variable = $smarty->fetch(_PS_THEME_DIR_.'my_content.tpl');
没有成功... JSON myVariable 是空投掷
" \n "
你做的很好,只是顺序错了(或者显示顺序错了)。首先,您需要创建包含模板数据的变量,然后才使用它,例如:
$smarty->assign('myVariable', $smarty->fetch(_PS_THEME_DIR_.'my_content.tpl')));
或者先$myVariable = ... 然后赋值给tpl变量。 在这种情况下 myVariable 将包含 tpl 文件的内容。当然如果你想从PHP(我的意思不仅仅是纯粹的html)在my_content.tpl中传输一些其他数据,你需要分配首先,在 fetch
之前