gpt4 book ai didi

seo - Prestashop - 模块、SEO 和 URL 和参数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:28:14 25 4
gpt4 key购买 nike

我为 Prestashop 制作了一个模块,它将根据参数 (&id=X) 中给定的 ID 显示内容。

我想为这个模块设置一个漂亮的 url。

使用 SEO 和 URLS,我发现这是可能的,但它在 url 中保留了 ?id=X。

例如,如果我将模块的 url 定义为

/pretty-module

我将拥有相同的链接,但 ID 不同:

/pretty-module?id=1
/pretty-module?id=23

我想做的是:

/pretty-module => will set id to 1
/even-prettier-module => will set id to 23

我在后台的 SEO 和 URLS 页面中没有看到“参数”选项,所以我想知道是否可以这样做。

最佳答案

你需要 Hook 到 moduleRoutes,

1) 在你的模块安装方法中:

if (!parent::install()           
|| !$this->registerHook('moduleRoutes')
|| !$this->registerHook('displayFooter'))
return false;

2) 创建相应的钩子(Hook)

public function hookmoduleRoutes($params) {
$routes = array();
$routes['module-examplemodule-handler'] = array(
'controller'=>'handler',
'rule'=>'promo{/:code}',
'keywords'=>array(
'code'=>array(
'regexp'=>'[\w]+',
'param'=>'short_code'
)
),
'params'=>array(
'fc'=>'module',
'module'=>'examplemodule',
'controller'=>'handler'
)
);

return $routes;
}

模块可能有多个路由。 惯例是module-[MODULE_NAME]-[MODULE_CONTROLLER_NAME]

数组解释:

Controller - 处理程序 (modules/examplemodule/controllers/front/handler.php)

规则 - 花括号是参数.. 你可以从 http://example.com/admin/index.php?controller=AdminMeta 得到一个想法

关键字 - 在这里配置规则中定义的参数(大括号)。

使用示例:http://example.com/promo/ADSGD

在 Controller “处理程序”中:

$short_code = Tools::getValue('short_code');

在 prestashop 1.6 上测试

引用:https://books.google.co.il/books?id=BsSiBQAAQBAJ&pg=PT134&lpg=PT134&dq=prestashop+module+Routes+hook&source=bl&ots=JCb_4oz6el&sig=JwoQfIsOnJ49VJ752fEb01ivMZ8&hl=en&sa=X&ei=vH0QVePiDoXPaNSxgrAP&ved=0CEIQ6AEwBA#v=onepage&q=prestashop%20module%20Routes%20hook&f=false

关于seo - Prestashop - 模块、SEO 和 URL 和参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23659444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com