我为Prestashop开发了一个自定义模块,我对友好的url参数检索有一些问题。如果我禁用友好网址,一切都按预期工作,但每当我尝试使用友好网址时,它都无法正常工作
所以,问题是以下几点:我有一个友好的网址链接,如下所示:
domain.com/22-flower-delivery-Hong+Kong.html
和另一个链接:
domain.com/22-flower-delivery-Hong+Kong-Sai+Kung.html
第一个链接获取国家/地区页面,另一个链接显示该国家/地区内的城市。
Prestashop的路线如下所示:
$my_link = array(
'module-vpages-dpage' => array(
'controller' => 'dpage',
'rule' => '{id_country:-}flower-delivery{-:country}{-:city}.html',
'keywords' => array(
'id_country' => array('regexp' => '[0-9]+', 'param' => 'id_country'),
'setCountry' => array('regexp' => '[0-9]+', 'param' => 'setCountry'),
'country' => array('regexp' => '[\w]+', 'param' => 'country'),
'city' => array('regexp' => '[_a-zA-Z0-9\pL\pS-]*', 'param' => 'city'),
'module_action' => array('regexp' => '[\w]+', 'param' => 'module_action')
),
'params' => array(
'fc' => 'module',
'module' => 'vpages'
)
)
);
主要问题是,如果国家或城市只有一个单词作为名称,这是有效的,但如果有2个单词(香港,新西兰等),那么它将崩溃。我正在使用urlencode()
进行解码以确保一切都通过正常但仍然没有运气。
有人可以帮忙整理出来吗?