看过很多的网站,看到别人的网站,前端的页面都是压缩过的,压缩过的代码,除了加载快、节省空间以外,更显得有格调。下面,小千就将这个代码,给大家分享一下,让你的网站,与别人的网站与众不同,织梦网站,也是可以高调一番。
教程开始
dedetag.class.php
打开 /include/dedetag.class.php 文件,搜索
Display()
然后把这个函数改为
function Display() { //echo $this->GetResult(); $muban = $this->GetResult(); $muban = preg_replace('#<!--{(.*?)}-->#','', $muban); //$muban = preg_replace('#<!--{kan\s+(.*?)}-->#','', $muban);//<!--{kan muban.htm}--> $muban = preg_replace('/\s+/', ' ', $muban); $muban = trim($muban); echo $muban; }
对的,没错,就是这么饿简单,就是改这么一句代码,就可以实现前端代码自动压缩了,但是有一个问题,这个Display()的方法,只对动态、伪静态的模板有用,意思就是,如果,你的网站是静态的,那么,只改这一个地方还是不够的哦。继续看下面,紧跟着的,就是静态模板生成文件了。
静态网站
还是这个文件,继续搜索
function SaveTo($filename)
其实,这个函数,就在下面一行,把这个整个方法都改为
function SaveTo($filename) { $muban = $this->GetResult(); $muban = preg_replace('#<!--{(.*?)}-->#','', $muban); //$muban = preg_replace('#<!--{kan\s+(.*?)}-->#','', $muban);//<!--{kan muban.htm}--> $muban = preg_replace('/\s+/', ' ', $muban); $muban = trim($muban); $fp = @fopen($filename,"w") or die("DedeTag Engine Create File False"); fwrite($fp,$muban); fclose($fp); }
这样改了以后,就算你的网站是静态的,生成的静态网页,也是前端自动压缩代码的哦。当然,除了压缩以外,我还给大家整了一个小功能,那就是注释,写代码怎么能够少得了注释,如果不给注释,一般自己看都费劲,今天写的,明天就忘记了,等一年以后,发现,这瞎几把写的啥。
支持注释
一般,HTML都是用<!-- 注释掉的代码 -->的注释。但是,有一个问题,那就是你加的注释,在前端都会显示,说得简单点,就是把智商完全暴露了。很多人在想,怎么样,能把这个注释写上,又不让它显示出来呢?其实,就我上面的代码中,已经完全实现,这种注释标签不显示了,下面就上织梦模板的写法。
模板写法
<!DOCTYPE> <html> <head> <title>无标题文档</title> </head> <!-- 这样写的注释会显示 --> <!--{这样写的注释不会显示}--> <body> </body> </html>
你能明白我的意思吗?意思就是,模板可以加注释了,你想怎么加,你就怎么加,并且,前端生成的静态网页,都是压缩、过滤好的。对于举个例子的,你就右击,看我的网站源码就行了,对的,就是这个效果,不知道的,以为这个效果很难,想要这个效果,就是这么简单。
织梦缺陷
作为一个织梦爱好者,真的是把织梦玩转了,发现一个弊端,那就是织梦模板内,不支持原生的PHP代码,织梦模板,虽然可以会用{dede:php}来代替PHP标签,但是,还是存在一定问题的,像多重的PHP判断,{dede:php}就没法实现。其原因是,织梦读取模板内的代码,只读取织梦的内置调用标签,对于非织梦调用标签,织梦都是不读取、不识别的。
这个不识别原生的PHP标签,对织梦程序来说,是一种安全防护措施,但大家可以加自定义方法、写自定义函数来解决,想在织梦模板加PHP标签,也就是只能用{dede:php}来代替了,所以,不要吐槽再织梦模板不支持PHP标签了,而是,你的添加方式不对,你加个自定义函数方法就能轻松解决了,就是大家所谓的织梦二次开发吧。
本文结束
评论专区
发表评论
评论列表(无评论)