博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过controller进行url重写
阅读量:4201 次
发布时间:2019-05-26

本文共 1244 字,大约阅读时间需要 4 分钟。

改功能是将http://www.sample.com/tag/product/list/tagId/2,重写成http://www.sample.com/tag/2!

1

通过controller,具体详细原理我也说不清楚,大致是通过抓取一个事件来进行的!!

这个事件就是controller_front_init_routers,然后把填写

 

<events>

            <controller_front_init_routers>
                <observers>
                    <tag>
                        <type>singleton</type>
                        <class>Mage_Tag_Controller_Router</class>
                        <method>initControllerRouters</method>
                    </tag>
                </observers>
            </controller_front_init_routers>
        </events>

 

2

写Controller,譬如:

class Mage_Tag_Controller_Router extends Mage_Core_Controller_Varien_Router_Abstract
{
    public function initControllerRouters($observer)
    {
        $front = $observer->getEvent()->getFront();
        $tag = new Mage_Tag_Controller_Router();
        $front->addRouter('tag', $tag);
    }
    public function match(Zend_Controller_Request_Http $request)
    {
   
            $pageId = $request->getPathInfo();
             Mage::register('paramsttt', $pageId);
            $request->setModuleName('tag')
                ->setControllerName('product')
                ->setActionName('list');
                return true;
       
       
       
    }
}

如果执行url:/tag/tagid,就会执行这个controller,然后将paramsttt赋值于/tag/tagid,

然后呢,在执行/tag/product/list这个url(相当于),然后再这个controllers接受这个参数

$paramas = Mage::registry('paramsttt');

然后通过字符串函数

$ss = explode('/', $paramas);

      
        $tagName =$ss['2'];

就可以得到tagid这个字符串,然后执行到的controller和得到的参数都有了,从而实现了重写!!!

 

3.在指向原来url需要改变成上面的修改完毕的url,也就是重写后的url,然后点击后,就通过上面的方式执行了!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://fncli.baihongyu.com/

你可能感兴趣的文章
LoadRunner各协议所需耗费的内存资源表
查看>>
AutomatedQA收购Smart Bear?
查看>>
使用QTP进行WEB页面性能测试
查看>>
LoadRunner的VS.NET 2005插件
查看>>
LoadRunner中如何验证下载的文件大小、统计下载时间、度量下载速度?
查看>>
LoadRunner脚本评审Checklist
查看>>
在LoadRunner中设置HTTP请求time-out的时间
查看>>
在LoadRunner脚本中实现随机ThinkTime
查看>>
LoadRunner9.51中文帮助手册
查看>>
RPT录制问题
查看>>
RPT8.0
查看>>
RPT8.1新特性
查看>>
LoadRunner测试AJAX
查看>>
LoadRunner测试GWT
查看>>
负载测试项目成功的5个关键要素
查看>>
LoadRunner性能测试培训大纲
查看>>
LoadRunner测试J2ME的Socket程序
查看>>
《QTP自动化测试实践》要出第二版了!
查看>>
用LoadRunner开发开心网外挂
查看>>
QTP测试.NET控件CheckedListBox
查看>>