1. 确保不修改discuz代码;

2. 继承discuz template类,重载parse_template 方法;由于discuz在模版引擎这一块没有考虑扩展性,对标签的解析全部写在一个方法中,因此只能重复大量代码进行重载;其中调用到的createurl方法放在idx.php 入口文件中,其实这里也可以直接调用原始的静态方法 - Mvc_Router::creatUrl();

https://gitcafe.com/web3d/uxf/blob/master/upload/source/class/mvc/mvc_template.php

<p>msg:{$msg}</p>

<p>Welcome,Phper.</p>

<a href="{url:'/senery-ticket/list'}">门票</a>
<a href="{url:'/senery-ticket/order/id/' . $ticket_id}">订购门票</a>

3. 不覆盖discuz的结果,就是这些扩展的东西只能在uxf体系里使用

统一路由构造与解析 说明

比如模版中统一的url写法

{url:'/api-main/list/type/linux/order/1/name/'.$val.name}

参数说明:

  • api:模块,默认模块common可不用添加,如 /news/list/id/10
  • main:控制器
  • list:动作
  • 其他:都是参数

在普通url模式下,上述写法将会生成

idx.php?module=api&mod=main&action=list&type=linux&order=1&name=Ubuntu

这样的完整的url。

在pathinfo的模式下,将会生成

/api-main/list/type/linux/order/1/name/Ubuntu

在Diy的模式下,将根据自己定义的方式生成,如

/api/linux/Ubuntu

PHP uxf framework 在模版中加入url标签的更多相关文章

  1. Django url 标签和reverse()函数的使用(转)

    使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响, 其实在模板, view中,如果想获取当前访问的url,那用re ...

  2. Django学习笔记之URL标签的使用

    期初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了, ...

  3. Django_模板中的URL参数化(四)

    去除模板中的硬编码 URL 在案例中的 test1/templates/booktest/index.html 文件里编写的链接都硬编码的链接,比如: <a href="/bookte ...

  4. django rest framework 的url标签的问题

    如何在模板中引用一个在rest framework中的url? urls.py from django.conf.urls import patterns, url from .views impor ...

  5. 转载MSDN 在ASP.NET 中执行 URL 重写

    转载文章原网址 http://msdn.microsoft.com/zh-cn/library/ms972974.aspx 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重 ...

  6. 记录一次bug解决过程:velocity中获取url中的参数

    一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...

  7. 在浏览器中输入URL按下回车键后发生了什么

    在浏览器中输入URL按下回车键后发生了什么 [1]解析URL[2]DNS查询,解析域名,将域名解析为IP地址[3]ARP广播,根据IP地址来解析MAC地址[4]分别从应用层到传输层.网络层和数据链路层 ...

  8. 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

    [源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...

  9. PHP实现把文本中的URL转换为链接的auolink()

    转载:http://www.jb51.net/article/52916.htm 其实我在<把文本中的URL地址转换为可点击链接的JavaScript.PHP自定义函数>一文中介绍过PHP ...

随机推荐

  1. 设置pycharm为Eclipse快捷键

    Ctrl + O 根据name模糊查找当前文件中类.方法Alt + (向左箭头或者向右箭头) ,回退or前进到到之前查看或者编辑处Alt + (向上箭头或者向下箭头) ,将当前方法整体往下或者往上移动 ...

  2. 每日一小练——Armstrong数

    上得厅堂.下得厨房,写得代码,翻得围墙,欢迎来到睿不可挡的每日一小练! 题目:Armstrong数 内容: 在三位的正整数中,比如abc.有一些能够满足a^3+b^3+c^3=abc的条件,也就是说各 ...

  3. 论#include

    1.#include " "与#include <> #include " "表示预编译命令源程序在当前项目下寻找头文件,如果找不到,再到标准头文件 ...

  4. RS布局问题之块的不完美之完美

    早上一来,便传来喜讯...说我们做的报表太美.客户不敢看----于是便开启征程,亲自尝试了一把,如下面的操作,首次运行报表,在不考虑UI美观度的情况下,报表还是 在预测范围内显示的 那么接下来我们选择 ...

  5. 标准库string类型

    一.string 对象的定义和初始化的方式 1. string s1: 2. string s2(s1): 3. string s3("hello"); 4. string s4( ...

  6. ajax交互Struts2的action(1)

    1.客户端网页代码 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w ...

  7. 多用户角色权限访问模块问题”的解决思路( 位运算 + ActionFilterAttribute )

    如果你还是不太懂位运算,请看我的文章:那些年我们一起遗忘的位运算! 下面是我在这次项目中学习到的,我眼中的位运算的应用!主要是实现 通知的3个操作: 1.  置顶 2.  设为首页 3.  同时为 “ ...

  8. KineticJS教程(10)

    KineticJS教程(10) 作者: ysm  10.在容器之间移动图形对象 Kinetic支持通过图形对象的moveTo(container)方法把图形对象从一个容器移动到另一个容器里,这个容器指 ...

  9. 算法笔记_038:特殊回文数(Java)

    目录 1 问题描述 2 解决方案 2.1 80分解法 2.2 网友标答解法   1 问题描述 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这 ...

  10. IOS客户端Coding项目记录(三)

    18:图片视图几种填充样式 _imgView.contentMode = UIViewContentModeScaleAspectFill; 如下: typedef NS_ENUM(NSInteger ...