【问题标题】:Opencart custom database lookup and displayOpencart 自定义数据库查找和显示
【发布时间】:2011-11-21 16:13:21
【问题描述】:

目前,正在尝试使其与 Opencart 一起使用,但我认为我对文件结构的了解需要一些帮助。

我在 Opencart 的数据库中添加了一个额外的字段,我添加该字段是为了根据使用会员代码登录的人提供数据。

查询该文件后,我希望每个页面的 header.tpl 输出中的字段都回显到屏幕上。

如果我在 Index.php 文件中查询数据库,对于数据库中的跟踪号,它会第一次返回正确的信息并将其显示在标题中,但是当我单击产品时,下一个屏幕会有一个错误,因为它看起来像 Index.php 文件不断为 Opencart 上的每个页面重新运行,即使 URL 链接更改?我是否缺少另一个文件,我应该将查询放入其中,以及我在哪里放置变量以显示在每个头文件上。

提前致谢。

【问题讨论】:

  • 向数据库添加字段时要非常小心。有一天,可能会出现一项更新,它会清除您所有的工作、数据,甚至可能是您的整个网站。

标签: php opencart


【解决方案1】:

根据您的问题,很难知道您到底想要做什么。如果您想在标题中显示附属数据,您应该使用文件/catalog/controller/common/header.php 将数据分配给标题视图。然后,您应该在 /catalog/view/theme/your-theme-name/template/common/header.tpl 文件中添加数据。

说真的,你应该使用

if($this->affiliate->isLogged()) {
    // Code here
}

在显示数据之前确保会员实际登录。要从数据库中提取数据,您可能需要编辑 /system/library/affiliate.php 并以这种方式而不是在控制器文件中提取数据,这样您就可以跨存储文件获取任何信息

【讨论】:

  • 感谢您的回复。它适用于从附属链接登录的客户,而不是相反。我正在从数据库中查找附属信息,并根据链接在标题中列出名称或其他数据。您提到要在公共 header.php 文件中查询数据库,所以我会尝试一下!
  • 如果我将代码放在 header.php 公用文件中,仍然会遇到同样的问题。对于登录到附属帐户的客户,变量中是否存在 isLogged()?这会让事情变得简单!此外,在 PHP 中是否有一种方法只查询一次数据库,在我从主页单击产品后,它会尝试再次查询它。我收到这条消息 Undefined index: tracking in catalog/controller/common/header.php
  • 如果你想保存一个值,你应该使用会话来这样做。附属公司和客户没有关系,这就是为什么我很难理解你想要诚实地做什么
  • 此外,您可以随时为客户使用 isLogged if($this->customer->isLogged() && $this->affiliate->isLogged()) { ... }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多