php - 在 prestashop 中获取当前页面和 url

标签 php model-view-controller controller seo prestashop

我正在尝试获取 prestashop 中当前页面的 url 以测试网站的多个页面,即使网站页面没有一致的模式。我注意到大多数 prestashop 页面的形式都是 /index.php?id_category=<categoryid>&controller=<controllername>, /index.php?id_product=<productid>&controller=<controllername>等我可以使用获取 Controller 名称 Context::getContext()->controller->php_self

所以,我想知道如何获取产品 ID 或类别 ID 以形成页面的当前 url?

最佳答案

无需手动重构链接,可以使用Link类。

// Context
$context = Context::getContext();
// Category id (on category and product page)
$cid = $context->controller->getCategory()->id;
// Product id (on product page)
$pid = $context->controller->getProduct()->id;

// Category link
$cat_link = $context->link->getCategoryLink($cid);
// Product link
$prod_link = $context->link->getProductLink($pid);

关于php - 在 prestashop 中获取当前页面和 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31356632/

相关文章:

JSON - Spring MVC : How to post json data to spring MVC controller

javascript - 如何在 ReactJS 中发布

php - MVC,类去哪儿了?

java - 从第一个 Controller 传递值后,第二个 Controller 中不会显示值

ASP.Net MVC 3 Controller Action 和打开新窗口

php - 在 php 中使用 pascal 数据

javascript - Ajax 函数中的多个字段

php - 更新查询不会更新我的产品列表

rest - GrailsView解析jsonApi发布数据-Grails团队是否在jsonViews中执行通用解决方案?

php - 使用基于浏览器的 YouTube API 客户端身份验证时,oauth2 的重定向 URI 片段中有额外的字段