首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prestashop 1.7如何将数据库中的数据显示到tpl

问Prestashop 1.7如何将数据库中的数据显示到tpl
EN

Stack Overflow用户
提问于 2020-12-14 22:51:55
回答 2查看 666关注 0票数 0

我是新的在Prestashop,我有一个小问题在prestashop 1.7,我刚刚买了一个模块为我的订单,在详细信息页面上,当我启动smarty我可以看到数组$order_reference的一些信息,但当我去我的历史页面我不能访问这些信息,我不知道如何添加这些信息来访问它与我的页面历史记录,我必须创建一个函数的历史控制器或类与dbclass或你有任何其他的解决方案来添加我的订单的详细信息?

问题是我的信息在调用eo_orderreference的另一个表中,而我无法使用orders对象访问它。我想我需要写一个函数,但我在互联网上看到,在tpl文件上写它是错误的,我必须在我的类上这样做,但我不知道怎么做。这是我想要添加的信息

代码语言:javascript
复制
SELECT 'order_reference' FROM eo_orderreference 

很抱歉,我无法上传图片,因为它包含了敏感的信息。

感谢您的宝贵时间。

EN

回答 2

Stack Overflow用户

发布于 2020-12-15 02:01:36

Smarty模板用于显示数据,您应该在调用TPL的PHP文件中执行查询,然后使用Prestashop

代码语言:javascript
复制
assign()

方法将数据作为可以在前台显示的智能变量返回给您的TPL。

有关更多详细信息,请参阅here。

票数 0
EN

Stack Overflow用户

发布于 2020-12-29 23:20:53

您可以在模块或控制器内的函数中创建sql查询。

例如:

代码语言:javascript
复制
public function getAccessories($id_product)
{
    // Your code
}

在钩子或initcontent中,您可以调用查询sql上的函数并为其分配一个模板:

代码语言:javascript
复制
public function hookDiplayAccessoryExtraProduct($params)
{
    $accessories = $this->getAccessories((int)$params['id_product']);
    $this->context->smarty->assign(array(
           'accessories_custom' => $accessories,
        )
    );
        return $this->display(__FILE__, 'views/templates/front/accessory.tpl');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65291108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档