希望有人可以在这里帮助我。
我有一个 Zend 路由器来处理向篮子添加东西。现在我正在构建一个定制器模块,因此用户可以在产品的指定部分添加尽可能多的不同颜色的部件。
我的基本网址是这样的
http://www.domain.com/shop/add/custom/size/type
我现在的router.ini是这样的
resources.router.routes.shopAddCustom.route = shop/add/custom/:size/:type/*
resources.router.routes.shopAddCustom.defaults.module = shop
resources.router.routes.shopAddCustom.defaults.controller = order
resources.router.routes.shopAddCustom.defaults.action = add
resources.router.routes.shopAddCustom.defaults.product = builder
我真正想要容纳的是这样的网址。
http://www.domain.com/shop/add/custom/size/type/part3/blue/right/part2/part6/both/part7/red/part1/left/orange/
基本上 size/type/ 后面的一切都是一个部分、一个颜色或一个部分(右、左、两者)
如何在大小/类型之后获得所有 url-path-parts 的单个数组?
array(0 => 'part3', 1 => 'blue', 2 => 'right', 3 => 'part2', 4 => 'part6' [...] );
如果我只是使用$this-_request->getParams();
,我会得到一个这样的数组
array('part3' => 'blue', 'right' => 'part2', 'part6' => 'both' [...] );
我可以遍历该数组,将所有键和值作为值添加到新数组中。问题是,如果 url-path-parts 的数量是奇数,则最后一部分将不会返回给 params,因为它被视为一个空变量,因此不会添加到 params 数组中。
任何想法都非常感谢:)