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