说点关于Yii的 Yii::app()->createUrl 与 CHtml::normalizeUrl 使用的问题

本文讨论了在Yii框架中使用Yii::app()->createUrl和CHtml::normalizeUrl时遇到的问题。当创建URL时,由于忽视了路径前的'/',导致URL错误地指向了模块内部的控制器,而非预期的全局路径。例如,'list/search'被解析为在'product'模块下的'list',而正确的应该是全局的'/list/search'。解决方法是确保在$route参数中使用全局路径,例如:Yii::app()->createUrl('/cart/index', array('id'=>1))。" 102679931,1286308,C#委托Delegate详解:类型安全与性能,"['C#编程', '委托Delegate', 'Lambda表达式', '类型安全', '性能']
摘要由CSDN通过智能技术生成

现在说下问题,请看下面的这段代码:

$words = array();
			foreach ($items as $item) {
				$tmp['link'] = CHtml::link($item['searchword'], 
								CHtml::normalizeUrl(array('list/search', 'name' => urlencode($item['searchword']))));
				$words[] = $tmp;
				unset($tmp);
			}

这是我又在查找项目哪有问题时,发现的一个问题,就是一个热门搜索,会列出来5个经常被搜索的问题当然,这个功能是放在头部的,页面都有加载这个头文件,

当我在首页点击这些被热门搜索的商品时,是可以正常跳转到相应的页面的,但是如果我点击一个商品,如:苹果,那我们就跳转到了苹果这个商品的详细商品了,

苹果商品的URL:http://clzv2.lygclz.com/index.php/product/default/view/pid/1

这时,我们在点击被热门搜索的商品时,就会出错.URL不存在,

某热门商品的URL地址:http://www.clz.com/index.php/product/list/search/name/%25E5%25BC%2580%25E5%25BF%2583%25E6%259E%259C

出错的原因是在/product/list多出一个product路径.去掉就正常了,问题就出在上面的那段代码 array('list/search'),应该为array('/list/search').

如果list前没有加 / ,Yii会以为是指的在product模块下的list,所以大家要注意细节.


Yii::app()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值