【问题标题】:OpenCart custom page not accessibleOpenCart 自定义页面无法访问
【发布时间】:2017-03-29 17:27:52
【问题描述】:

我的 OpenCart 网站的后端(管理员)中有一个自定义页面。它是 admin/view/template/sale/order_info.tpl 的精确副本,但有一些小的外观变化。它位于 admin/view/template/sale/order_preview.tpl。我还创建了 admin/controller/sale/order.php 的副本,并将其命名为 admin/controller/sale/order_preview.php,并将第一行修改为:

class ControllerSaleOrderPreview extends Controller {

但是当我尝试访问 URL 为“http://www.example.com/admin/index.php?route=sale/order/preview&token=BtkiB5js5u3hkXBYrFlGgz39dWtrQ4Ww&order_id=2”的页面时,我得到“页面未找到!”每次。

我还需要什么才能访问此页面?这是在 OpenCart 2.3.0.2 中。

【问题讨论】:

  • 很可能存在需要修改的路由文件。

标签: php opencart


【解决方案1】:

根据您创建页面的方式,您的网址是错误的。

route=sale/order/preview

这将调用sale/order 控制器中的函数preview。由于您为更改创建了一个新控制器,因此路线将有所不同。更改路由以匹配新控制器。

route=sale/order_preview

要记住的是,路由参数就是将你指向一个控制器,所以它是你要注意的控制器文件名。 Opencart使用route=folder/controllerFilename/methodToCall的约定,如果省略第三部分route=folder/controllerFilename,则默认调用index方法。

【讨论】:

  • 我认为 OpenCart 将这些文件名中的下划线变成了斜线......所以当我复制 order_info.tpl 并将其转换为 order_preview.tpl 时,我认为“route=sale/order/preview " 的处理方式与处理 "route=sale/order/info" URL 的方式相同。
  • 更新 - 在这种情况下,我弄错了下划线,当我根据您对 route=sale/order_preview 的建议进行尝试时,它的行为似乎比预期的要好得多。谢谢!
猜你喜欢
  • 2020-03-18
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多