今天來(lái)介紹下自定義宏標(biāo)記的應(yīng)用,大家可以進(jìn)入后臺(tái),在“模板管理”-》“自定義宏標(biāo)記”中查看到該選項(xiàng)。
自定義宏標(biāo)記的作用:
可以將模板中多次出現(xiàn)的相同元素用一個(gè)自定義標(biāo)記表示出來(lái),從而達(dá)到,一次更改,全局更換的效果。輔助插件的廣告管理也有相似的效果。
適用范圍:
網(wǎng)頁(yè)模板中多次出現(xiàn)的相同元素,例如:網(wǎng)站的導(dǎo)航條、網(wǎng)站的站點(diǎn)公告、網(wǎng)站的底部信息等,在我之前發(fā)布的幾套模板中都運(yùn)用到了自定義宏標(biāo)記。
自定義宏標(biāo)記的調(diào)用辦法:
{dede:mytag name='標(biāo)記名稱(chēng)' ismake='是否含板塊代碼(yes 或 no)' typeid='欄目ID'/}
1、name 標(biāo)記名稱(chēng),該項(xiàng)是必須的屬性,以下 2、3是可選屬性;
2、ismake 默認(rèn)是 no 表示設(shè)定的純HTML代碼, yes 表示含板塊標(biāo)記的代碼;
3、typeid 表示所屬欄目的ID,默認(rèn)為 0 ,表示所有欄目通用的顯示內(nèi)容,在列表和文檔模板中,typeid默認(rèn)是這個(gè)列表或文檔本身的欄目ID。
下面來(lái)通過(guò)一個(gè)實(shí)例進(jìn)行說(shuō)明:
我有一個(gè)網(wǎng)站模板底部信息,其長(zhǎng)度已經(jīng)超出了系統(tǒng)可以設(shè)置的網(wǎng)站版權(quán)(cfg_powerby)的長(zhǎng)度,但是我想實(shí)現(xiàn)一段代碼,可以在不同模板(頁(yè)面)中顯示相同內(nèi)容的效果。
我們就可以使用自定義宏標(biāo)記來(lái)實(shí)現(xiàn)這個(gè)效果
如圖進(jìn)行設(shè)置:
然后我們回到模板制作的界面,將模板中的{dede:global name='cfg_powerby'/},替換為我們?cè)O(shè)置的自定義宏標(biāo)記:
{dede:mytag name='footer'/},更新下,是不是已經(jīng)變?yōu)槲覀冊(cè)O(shè)置的標(biāo)記內(nèi)容了啊。
當(dāng)然,自定義宏標(biāo)記里面也可以加入dedecms的標(biāo)記內(nèi)容,適合當(dāng)前欄目的顯示內(nèi)容,不過(guò)需要在調(diào)用代碼中將ismake設(shè)為yes才可以,也可以通過(guò)設(shè)置typeid使自定義宏標(biāo)記在特定欄目中顯示。
有人會(huì)問(wèn),我已經(jīng)生成了很多頁(yè)面了,現(xiàn)在想更改了一下自定義宏標(biāo)記的內(nèi)容,那豈不是要更改后重新再生成一遍,那樣就不方便了。
其實(shí)柏拉圖早就考慮到這點(diǎn),在自定義宏標(biāo)記中可以使用javascript調(diào)用,這樣以來(lái),只要改變一次就可以實(shí)現(xiàn)全局改變的效果。
具體操作:進(jìn)入自定義標(biāo)記管理,在相對(duì)應(yīng)的標(biāo)記管理項(xiàng)目中有JS調(diào)用這個(gè)選項(xiàng),單擊,dedecms自動(dòng)生成調(diào)用該ID標(biāo)記的js代碼,例如<script src='/plus/mytag_js.php?aid=1' language='javascript'></script> WebTalks
我們將剛才的{dede:mytag name='footer'/}用js替換掉,更新下,是不是還是原來(lái)的效果,我們?cè)傩薷南聵?biāo)記的內(nèi)容,怎么樣?全局發(fā)生了變化。
怎么樣,自定義宏標(biāo)記內(nèi)容強(qiáng)大吧,相信他的引入會(huì)給你的模板制作帶來(lái)更好的效果。