错误 TPL PHP Prestashop
Error TPL PHP Prestashop
我正在使用 Prestashop,我想从我在数据库中创建的 table 中检索数据。我已经用了2天了,一点用都没有,我要疯了。
这是我放入 ProductController.php 文件中的代码:
private function GetAvailableAttributes($id_produit, $id_compte, $note)
{
global $smarty;
$sql = 'SELECT id_produit, id_compte, note
FROM `'.'ps_product_avis';
$ess=mysql_result($sql,0);
$smarty->assign('contact', $ess);
}
这是 product.tpl 文件中的代码:
<li>test :{$contact}</li>
这是它给出的错误:
你们哪位能救救我并解释一下问题出在哪里吗?
先谢谢你了。
在 PrestaShop 1.7(以及 1.5 和 1.6)中,全局变量 $smarty
已被弃用。
您犯了各种错误,我会尝试通过更正来解释:)
更改您的代码:
private function GetAvailableAttributes($id_produit, $id_compte, $note)
{
/* global $smarty; DEPRECATED */
$sql = 'SELECT id_produit, id_compte, note
FROM `'._DB_PREFIX_.'product_avis`';
/* Use always _DB_PREFIX_ constant var */
/* $ess=mysql_result($sql,0); Use Db class instead of this old method */
$ess = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
/* $smarty->assign('contact', $ess); Deprecated use */
$this->context->smarty->assign('contact', $ess);
}
记住executeS
方法return是一组数组,如果有一个元素到return。
所以你的数组将是这样的:
array(
[0] => array(
'id_produit' => 1,
'id_compte' => 1,
'note' => 'my note'
)
);
为了打印单个元素,你应该这样做:
{$contact[0]['note']}
它将打印 my note
.
就这些了:)
我正在使用 Prestashop,我想从我在数据库中创建的 table 中检索数据。我已经用了2天了,一点用都没有,我要疯了。
这是我放入 ProductController.php 文件中的代码:
private function GetAvailableAttributes($id_produit, $id_compte, $note)
{
global $smarty;
$sql = 'SELECT id_produit, id_compte, note
FROM `'.'ps_product_avis';
$ess=mysql_result($sql,0);
$smarty->assign('contact', $ess);
}
这是 product.tpl 文件中的代码:
<li>test :{$contact}</li>
这是它给出的错误:
你们哪位能救救我并解释一下问题出在哪里吗?
先谢谢你了。
在 PrestaShop 1.7(以及 1.5 和 1.6)中,全局变量 $smarty
已被弃用。
您犯了各种错误,我会尝试通过更正来解释:)
更改您的代码:
private function GetAvailableAttributes($id_produit, $id_compte, $note)
{
/* global $smarty; DEPRECATED */
$sql = 'SELECT id_produit, id_compte, note
FROM `'._DB_PREFIX_.'product_avis`';
/* Use always _DB_PREFIX_ constant var */
/* $ess=mysql_result($sql,0); Use Db class instead of this old method */
$ess = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
/* $smarty->assign('contact', $ess); Deprecated use */
$this->context->smarty->assign('contact', $ess);
}
记住executeS
方法return是一组数组,如果有一个元素到return。
所以你的数组将是这样的:
array(
[0] => array(
'id_produit' => 1,
'id_compte' => 1,
'note' => 'my note'
)
);
为了打印单个元素,你应该这样做:
{$contact[0]['note']}
它将打印 my note
.
就这些了:)