您的位置:首页 > 其它

magento url 解析 以及响应流程

2010-01-10 21:53 148 查看
你可以在

magento后台管理页面查看关于前台各个页面跳转实际的url路径,在前台我们能够看见的仅仅是一些html路径,而不是具体的响应的路径

你可以在magento/admin—>Catalog—>Url
Rewrite Management
中根据你在页面上看见的html路径查找这里对应的是 Request Path 点击进入你看见的Target Path 就是实际的action调用路径因为magento是运用了zend 所以他的action路径跟zend的一样

例如:catalog/category/view/id/11

catalog:指的是调用的module(模板)是catalog 对应 app/code/Mage/Catalog

category:指的是响应的controller 对应 app/code/Mage/Catalog/controllers/CategoryController.php

view:指的是对应的action 对应 CatagoryController.php中viewAction这个方法

id/2:是请求参数

viewAction()这个方法中加载目录app/design/frontend/default/default
/layout/
下名字和模块名相同的layout文件,名字为catalog.xml。然后寻找名字为的标签,

<default>下是默认就要加载的block

其余标签下的是自定义的block 这个例子总除了默认的我们要找到对应的block获取数据之外,我们同时会还要载入<catalog_category_view>这个标签里面的东西 这个跟我们的url到action(catalog/category/view/
id/2)是对应的 然后根据里面的要有的block的类型调用相应的block class

例如 <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml"> 这个会直调用 app/code/Mage/Catalog/Block/Product/View.php 然后在它对应模板页面
template="catalog/product/view.phtml" 中自由调用这个block class中所有的方法来取得自己想要的数据给予显示。然后用户就可以得到最终的页面

以下是一次请求的数据流程图(data_request_flow):

因为没有办法上传图片所以大家可以点击这里查看:
http://www.magentocommerce.com/wiki/doc/magento-architecture
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐