導(dǎo)讀:織夢技巧織夢技巧為了使用模板標(biāo)記不破壞文檔的可讀性,dedecms不像別的模板,有時(shí)會使用直接往模板插入PHP或類似PHP的代碼,以達(dá)到真正的模板與程序分離的特點(diǎn)。 但為了讓程網(wǎng)站建設(shè)高端網(wǎng)站建設(shè)。
百度seo網(wǎng)站優(yōu)化
為了使用模板標(biāo)記不破壞文檔的可讀性,dedecms不像別的模板,有時(shí)會使用直接往模板插入PHP或類似PHP的代碼,以達(dá)到真正的模板與程序分離的特點(diǎn)。 但為了讓程序有更大的擴(kuò)展性, dedecms 允許對標(biāo)記使用 function 進(jìn)行擴(kuò)展,function所使用的函數(shù)可以是系統(tǒng)函數(shù),也可以是自定義的函數(shù),只是用在兩個方面:1、模板標(biāo)記: 如:網(wǎng)站seo優(yōu)化{dede:field name=pubdate function=GetDateTimeMk(@me)/} 這個標(biāo)記實(shí)際返回的結(jié)果是執(zhí)行了GetDateTimeMk […]
為了使用模板標(biāo)記不破壞文檔的可讀性,dedecms不像別的模板,有時(shí)會使用直接往模板插入PHP或類似PHP的代碼,以達(dá)到真正的模板與程序分離的特點(diǎn)。
但為了讓程序有更大的擴(kuò)展性,dedecms允許對標(biāo)記使用 function 進(jìn)行擴(kuò)展,function所使用的函數(shù)可以是系統(tǒng)函數(shù),也可以是自定義的函數(shù),只是用在兩個方面:1、模板標(biāo)記:
如:{dede:field name='pubdate' function=GetDateTimeMk('@me')/}
這個標(biāo)記實(shí)際返回的結(jié)果是執(zhí)行了GetDateTimeMk函數(shù)后的結(jié)果
一般情況下,模板標(biāo)記的自定義擴(kuò)展函數(shù)放在:
include/inc_functions.php
或
include/inc_functions.php
include/inc_channel_unit_functions.php
2、采集配置字段:
如:{dede:note field='title' value='[var:內(nèi)容]' function=test('@me')}
{dede:match}<title>[var:內(nèi)容]</title>{/dede:match}
{/dede:note}
這個采集節(jié)點(diǎn)返回的結(jié)果是執(zhí)行了函數(shù)test后返回的結(jié)果
一般情況下,采集擴(kuò)展的自定義擴(kuò)展函數(shù)放在:
include/pub_collection_functions.php
在上面例子中 @me 表示這個標(biāo)記本身的原始值,如果為int或浮點(diǎn)型,可以不加引號,字符串則必須加引號
格式為:
{dede:tagname runphp='yes'}
$aaa = @me;
@me = "123456";
{/dede:tagname}
@me 表示這個標(biāo)記本身的值,因此標(biāo)記內(nèi)編程是不能使用echo之類的語句的,只能把所有返回值傳遞給@me。
此外由于程序代碼占用了底層模板InnerText的內(nèi)容,因此需編程的標(biāo)記只能使用默認(rèn)的InnerText。
過濾掉HTML代碼
{dede:field name='description' function='html2text(@me)'/}
{dede:list imgwidth='*' imgheight='*'}
<img src='{dede:field name='litpic' /}' width="*" height="*">修改 includeinc_channel_unit_functions.php
里面的 <img src='".$imgsrc."' width=80 align=left>
可以改變縮略圖尺寸
5.1以前縮略圖地址是
120U10ML014147_lit.gif
5.1變成了lit_120U10ML014147.gif
把[field:picname function='str_replace("_lit","",@me)'/]
換成[field:picname function='str_replace("lit_","",@me)'/]'str_replace("主頁","",Html2Text("@me"))' 在產(chǎn)品列表中,有個值經(jīng)過函數(shù)處理,通常一個變量的情況下是這樣的:
[field:typeid function='get_linkshangpin(@me,3)'/]
[field:pubdate function='strftime("%m-%d",@me)'/]
[field:litpic function="CkLitImageView(@me,80)"/]
修改 includeinc_channel_unit_functions.php
里面的 <img src='".$imgsrc."' width=80 align=left>'cn_substr("@me",2). 取的是這個字段左邊的截取.
想從右邊開始截取,用什么函數(shù)呢..
我在用DEDE調(diào)用supersite blog 里面的博客之星圖片.
它的圖片地址是UID號對應(yīng)的目錄.
比如UID是176 可能對就的會員圖片是/cn_substr("@me",2). 截取的UID變成了17...如何才能截右邊呢.變成76 ,
function=substr("@me",-2)利用DEDE的runphp功能為評論加入驗(yàn)證碼(可選開關(guān))
首先在include/config_base.php中加入以下代碼:
Copy code
//評論是否啟用驗(yàn)證碼(0否1是)如果更改了這里,必須重新生成文章HTML
$feedback_validate = 1;
然后
在/templets/default/article_article.htm,/templets/plus/feedback_templet.htm等有評論表單的地方的相應(yīng)位置加入以下代碼:
{dede:php runphp='yes'}
if($feedback_validate) {
@me = "<tr>
<td>驗(yàn)證碼:</td>
<td><input name=\"validate\" type=\"text\" id=\"validate\"> <img src=\"/include/validateimg.php\" alt=\"看不清楚可點(diǎn)擊這里更換!\" border=\"0\" align=\"absmiddle\" onclick=\"this.src=this.src;\"></td>
</tr>";
}
{/dede:php}在/plus/feedback.php中找到如下代碼:else if($action=="send")
{
在下面加入:
session_start();
if( empty($_SESSION["s_validate"]) ) $svali = "";
else $svali = $_SESSION["s_validate"];
if($feedback_validate && strtolower($vdcode如何seo優(yōu)化推廣網(wǎng)站)!=$svali && $svali!=""){
ShowMsg("驗(yàn)證碼錯誤!","-1");
exit();這樣就可以實(shí)現(xiàn)評論驗(yàn)證碼的功能了,并且可選開關(guān)。
另外,評論還可以加入時(shí)間限制,IP限制等{dede:field name='keywords' runphp='yes' }
if(!empty(@me)){
$kws = explode(' ',@me);
@me = "";
foreach($kws as $k){
@me .= "<a class='tags' HREF='javascript:void(null)'>$k</a> ";
}
//@me= str_replace('+', ' ',trim(@me));
}
{/dede:field}
關(guān)鍵詞標(biāo)簽: 標(biāo)簽 高級
聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-05-26 ,文章Dedecms高級功能function擴(kuò)展-dede @me織夢技巧主要講述高級,標(biāo)簽,Dedecms高級功能function擴(kuò)展-de網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_9103.html