如何查找当前页面的路线?

use*_*031 7 php opencart

是否有一行代码可以在控制器中用来确定当前页面的路径?

例如,我想找到具有SEO网址的页面路由https://example.com/desktops(这应该返回路由product/category).

同样,url如https://example.com/index.php?route=product/product&path=18&product_id=47应该返回路由product/product.

Ser*_*nin 12

说实话,正确的答案是$this->request->get['route'];.

为了捕获当前路由,您可以在函数$this->request->get['route'];中的catalog/controller/common/header.php文件中使用index().Header.php几乎是任何前端输出的一部分(据我所知,现在你不确定使用什么控制器,http://example.com/desktops因此你需要在任何情况下都可以运行代码的正确位置).

SEO模块不会取消设置请求对象的这一部分.另外,请记住,在OpenCart代码生成过程中,$_GET数组与$this->request->get数组不一样.当SEO模块运行时,你不会在$ _GET超全局php数组中捕获当前路径(以"路径/控制器/动作"格式),但是你可以通过使用$this->request->getOpenCart引擎为你准备的数组来捕获任何控制器.


Jay*_*ord 1

这是通过在url_alias表中查询特定关键字来完成的,它会为您提供标准设置附带的四个 ID 之一(product_id、category_id和information_id)manufacturer_id以及由 分隔的 id 值=。

在您的桌面示例中,它将类似于category_id=20. 从那里,你需要制定路线

您可以在文件中找到 OpenCart 执行此操作的确切方法/catalog/controller/common/seo_url.php