#1 fosf
我想生成的最终效果如下:
http://www.baidu.com/htc-hero-g3-view-180.htmlview 是指 动作
$flname="htc hero g3" 是所属的分类名 $flname 从数据库所得
$pid="180" 是所属产品ID
http://www.baidu.com/<{spUrl controller=index action=view id=$pid flname=$flname}>
我怎样得到我想要的效果呢? 难道要改spurl嘛
求方法!!!!!!!!!!!
:hug::hug: :hug: :hug: :hug: :hug: :hug: :hug:
2011-09-27 17:54:41
#8 fosf
不可以多个@,但是一个@是可以做到很多个@的功能
jake 发表于 2011-9-28 12:12 
这个如何操作,弄个例子来吧。谢谢
'spUrlRewrite' => array(
'suffix' => '.html',
'sep' => '-',
'map' => array(
'groups' => 'group@index',
'cms' => 'main@index',
'@' => 'user@index',
),
'args' => array(
'groups' => array('tid'),
'@' => array('username'),
),
),
上面是你的例子,是特殊形式@对应到一个
user@index 怎么样才能出现多个特殊形式的功能,指定到不同的动作
admin@index AND
bbs@index AND
products@index 麻烦JACK了,这些对我很重要,其它人也应该很需要吧
2011-10-03 13:47:32
#9 jake
可以简单理解成条件判断。
其实看你说明的,你希望的不是@映射,还是普通映射,只是对映射很不了解而已。
比如说
http://web.com/admin_user1.htmlhttp://web.com/bbs_user1.html那么在user@index接收的时候,就是$username = admin_user1 和 $username = bbs_user1
要注意你的设置分隔符是'sep' => '-' 而不是 _,由于你要做多个@(一般不会有这种情况),那么我只能假设用_了。
然后就简单了
if(substr($username, 5) == 'admin'){
执行admin@index
}else( substr($username, 3) == bbs ){
执行bbs@index
}
===================
强调一下,一般开发和日常使用不会用到以上的情况方法(理解网址和对应关系就会明白),这里只是说明一下这种可能性。
2011-10-03 16:23:32