我可以在 Controller 中使用一行代码来确定当前页面的路由吗?
例如,我想用SEO url https://example.com/desktops
查找页面的路线(这应该返回路线product/category
)。
类似地,诸如https://example.com/index.php?route=product/product&path=18&product_id=47
之类的url应该将路由返回为product/product
。
最佳答案
老实说,正确的答案是$this->request->get['route'];
。
为了捕获当前路线,可以在$this->request->get['route'];
函数的catalog/controller/common/header.php
文件中使用index()
。 Header.php
实际上是任何前端输出的一部分(据我了解,现在您不确定http://example.com/desktops
中使用了哪个 Controller ,因此您需要在任何情况下都可以运行代码的正确位置)。
SEO模块不会取消设置请求对象的这一部分。另外,请记住,在OpenCart代码生成的中间,$_GET
数组和$this->request->get
数组不是同一回事。 SEO模块运行时,您不会以$ _GET超全局php数组捕获当前路由(以“路径/ Controller / Action ”格式),但是您可以使用OpenCart为您准备的$this->request->get
数组与任何 Controller 捕获该路由。引擎。
关于php - 如何找到当前页面的路线?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17321029/