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. Sqlite-SQLiteHelper类,操作SQLite数据库

    using System; using System.Data; using System.Text.RegularExpressions; using System.Xml; using Syste ...

  2. .NET-MVC站点部署到windows server2008r2服务器404错误

    iis站点搭建 产生原因: 由于服务器上的.net4.0没有进行注册导致的 解决方法: 注册.net 4.0 打开运行-cmd-输入如下命令: C:\WINDOWS\Microsoft.NET\Fra ...

  3. Code a simple telnet client using sockets in python

    测试端口是否开放的python脚本 原文: https://www.binarytides.com/code-telnet-client-sockets-python/ 配置: 120.79.14.8 ...

  4. Android安装包相关知识汇总 (编译过程图给力)

    转自: https://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=208008519&idx=1&sn=278b7793699 ...

  5. springMVC之增删改查

    一.核心原理 1. 用于发送请求给server: /home.htm 2. 请求被DispatchServlet拦截到 3. DispatchServlet通过HandleMapping检查url有没 ...

  6. CPU五级流水线project(带Hazard)

    project简单介绍: 计算机组成原理课程Project--五级流水线hazard处理 思路说明: CPU架构图: CPU指令集: 代码在这里:cpu_hazard

  7. org.codehaus.xfire.fault.XFireFault: Could not read XML stream.. Nested exception is javax.xml.strea

    xfire使用中出现故障: 1. [2014-04-16 14:51:07.564]-[ERROR] org.apache.struts2.dispatcher.Dispatcher Exceptio ...

  8. 关于angularjs中路由页面强制更新的问题

    有这么一个问题,在页面内路由页面跳转时,第一次跳入路由页面时是正常的,但是第二次会记住第一次时的状态,有时候并不想这样,想强制更新这个路由页面. 有一种方式就是使用 ui-sref-opts功能,我试 ...

  9. UDP Sockets in C#

    UDP provides an end-to-end service different from that of TCP. In fact, UDP performs only two functi ...

  10. 【转】IT新人如何快速成长

    主动积极 主动积极包括很多方面了,主动学习.主动思考.主动承担责任等等.我觉得主动性很重要,如果你能做到这一点,那么肯定会把工作做的很好的. 学会学习 公司不是学校,需要改变由老师灌输知识的学习方式. ...