dsaaqdz6223 2017-07-10 13:59
浏览 57
已采纳

错误TPL PHP Prestashop

I am working on Prestashop and I would like to retrieve the data from a table I created in my database. I've been on it for 2 days and nothing works, I'll go crazy.

Here is the code I put in my ProductController.php file:

    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);
    }

Here is the code put in the product.tpl file:

<li>test :{$contact}</li>

Here's the mistake it gives:

Error message

Could one of you save me and explain where the problem comes from please?

I thank you in advance.

  • 写回答

1条回答 默认 最新

  • dongxiong1941 2017-07-10 14:41
    关注

    In PrestaShop 1.7 (and also 1.5 and 1.6) the global var $smarty was deprecated. You have made various errors, I'll try to explain with the corrections :)

    Change your code in this:

    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);
    }
    

    Remember that the executeS method returns a set of array, also if there is one element to return.

    So your array will be like this:

    array(
        [0] => array(
            'id_produit' => 1,
            'id_compte' => 1,
            'note' => 'my note'
        )
    );
    

    In smarty to print single element you should do something like this:

    {$contact[0]['note']}
    

    It will print my note.

    That's all :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况