1
我在新的Prestashop:我想在一個TPL文件,以顯示我的查詢結果,而我得到這個錯誤:的Prestashop:注意:未定義指數:PRODUITS
Notice: Undefined index: produits
這是我的控制器代碼:
class AdminStatproduitController extends ModuleAdminController
{
public function init() {
parent::init();
}
public function initContent()
{
parent::initContent();
$products = Db::getInstance()->ExecuteS('SELECT pp.id_product, ppl.name, pps.quantity
FROM `'._DB_PREFIX_.'product` pp
LEFT JOIN '._DB_PREFIX_.'product_sale pps ON pps.id_product = pp.id_product
LEFT JOIN '._DB_PREFIX_.'product_lang ppl ON ppl.id_product = pp.id_product
WHERE pp.cache_is_pack =0
ORDER BY pps.quantity ASC
LIMIT 3');
$pack = Db::getInstance()->ExecuteS('SELECT pp.id_product, ppl.name, pps.quantity
FROM `'._DB_PREFIX_.'product` pp
LEFT JOIN '._DB_PREFIX_.'product_sale pps ON pps.id_product = pp.id_product
LEFT JOIN '._DB_PREFIX_.'product_lang ppl ON ppl.id_product = pp.id_product
WHERE pp.cache_is_pack =1
ORDER BY pps.quantity DESC
LIMIT 3');
$smarty = $this->context->smarty;
$content = $smarty->fetch(_PS_MODULE_DIR_ . 'statproduit/views/templates/admin/statproduit.tpl');
$this->context->smarty->assign(array('produits'=>$products,
'pack'=> $pack,
'content' => $this->content . $content));
}
,這是我的TPL代碼
<section>
<div id="formAddPaymentPanel" class="bootstrap panel">
<form id="formAddPayment" method="post">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th><span class="title_box ">Id Produit</span></th>
<th><span class="title_box ">Nom Produit </span></th>
<th><span class="title_box ">Quantité Produit</span></th>
<th><span class="title_box ">Pack Choisie</span></th>
<th></th>
</tr>
</thead>
<tbody>
{foreach from=$produits item=produit}
<tr>
<td>{produit} </td>
<td>product.name</td>
<td>product.quantity</td>
<td>delete</td>
</tr>
</tr>
{/foreach}
</tbody>
</table>
</div>
</form>
</div>
</section>
任何建議?
感謝
首先做smarty assign,然後smarty fetch。 – sadlyblue
它生成此錯誤: 上線20 語法錯誤模板 「/projet/PrestaShop/modules/statproduit/views/templates/admin/statproduit.tpl」 「{} produit.id_product」 - 意外 「」 ,預計其中的一個:「}」 –