我如何追踪在我的站点上呈现但缺少除目录模板文件之外的所有内容的 opencart 模块的细节?

How do I track down specifics for an opencart module that is rendering on my site but missing everything except the catalog template file?

我继承了一个 opencart 1.5.5.1 站点并且对 cms 完全陌生。据我所知,它是由一位称职的开发人员构建的,但后来经过了一个 hack-it-up 开发团队,然后交给了​​我。所以,我真的不知道对它有什么期待。

我目前有一个模块呈现在左侧边栏中,但我不知道它为什么会呈现在那里。我在文件堆栈中找到的与此 "module" 完全相关的唯一文件是目录目录结构中的单个模板文件,名为:

/catalog/view/theme/mytheme/template/module/affiliate_profile_select.tpl

站点上所有其他已安装的模块似乎都有许多其他文件与之关联,我在创建 opencart 模块时所做的研究验证了这些文件的位置:即以下目录中的模块文件:

/catalog/controller/module/
/catalog/language/english/module/
/catalog/model/module/
/catalog/view/theme/mytheme/template/module/
/admin/controller/module/
/admin/language/english/module/
/admin/model/module/
/admin/view/template/module/

据我所知,这个文件 (affiliate_profile_select.tpl) 是文件堆栈中与此模块关联的唯一文件。

我在任何 vqmod php 或 xml 文件中找不到与此模块相关的任何内容,and/or 文件。

我在管理区找不到与此模块相关的任何内容。我已经尝试在所有已安装的模块中搜索其他通用标识符(部分视图呈现在大多数未登录页面的左侧栏的最顶部,所以我正在寻找 [= 的布局位置36=] 和位置少于 2),但还没有找到任何东西。

然而,该部分显然是在网站上呈现的,所以它必须在某处。事实上,它在两个地方呈现。它也位于主页移动视图的顶部内容部分。

现在感觉就像是一个已经编写、安装和配置的模块,然后有人删除了与该模块关联的所有文件,只剩下一个文件。这样的情况会发生吗?

有没有办法通过查询数据库来追踪这个问题?或者模板包含显然在某处的文件中,我只需要找到它?更复杂的是,托管公司不允许使用控制台远程登录(据我所知)。否则我只需要 运行 文件名的 grep 以防有人刚刚在某处抛出 "include()" 语句。到目前为止,我唯一检查过类似内容的地方是左侧栏模板文件:

/catalog/view/theme/default/template/common/column_left.tpl

但它只是一个简单的 for 循环,可以呼应模块视图。

任何关于我如何能够追踪这个问题的帮助或指导都会有很大帮助。

在 Opencart 中,.tpl(模板)文件总是由控制器调用,您可能已经猜到它们在 catalog/controller/ 中。如果它是一个模块(显示在左侧边栏位置,它可能会在 catalog/controller/module/ 中。首要任务是找到调用您提到的模板的控制器。我可能会开始进入a shell 并从站点的文档根目录中执行类似的操作:

grep -r affiliate_profile_select .

从那里您应该能够找到关联的模块控制器和任何其他涉及的逻辑。有时人们使用 vQmod 向预先存在的模块添加一些东西,这样就可以解释缺少其他类似命名文件的原因。