{dede:field}標簽有個很大的缺點就是實現不了嵌套,有時候樣式中間有嵌套,這樣怎么處理。最近工作上同事遇到了,因此織夢模板就把解決的方法整理出來。
實例1:
我需要實現的是這樣顯示一個自定義模型里面的標題,有就顯示,沒有讀出來不顯示,并且包含樣式:
<li>1、<a href="#head1" name="head1-1">{dede:field.hehu_title1 /}</a></li>如上:這樣實現了調出標題,但是如果這個標題為空的時候,這一行前面的1也會顯示出來,這樣顯然不是我們需要的,那怎么能動態控制乃?如下:
平時使用我們使用{dee:field name='hehu_title1' /}或{dede:field.hehu_title1/}就可以實現。但是現在我們應該如下:
{dede:field name='array' runphp='yes'} if (@me[hehu_title1] != ""){@me="<li>1、<a href='#head1' name='head1-1'>"="";}{/dede:field}這樣才實現我們的功能,做了一個判斷。
實例2:
例如需要有短標題就顯示短標題、沒有短標題就顯示長標題:
{dede:field name='array' runphp='yes'} if (@me['shorttitle']=='') @me=@me['title'];else @me=@me['shorttitle'];{/dede:field}備注:此用法是我們需要同時處理兩個或以上字段參數的時候,用這個就很方便!
dedeCms Runphp 標簽中調用其他變量的方法
我們都知道,在DedeCMS中是可以使用PHP的,常見的方法就是if else了,例如模板制作中,我們需要對來源和作者進行判斷,如果為空,則提示:暫無或不詳,樣例:
{dede:field name='source' runphp='yes'}if(@me == ""){ @me = "";}else{ @me = "來源:".@me;}{/dede:field}但是如果想在上邊的代碼中調用其他變量,怎么調用呢?今天下午武林網小編就遇到這個問題,在織夢官方論壇查找了一下,現在將方法公布如下,我們將變量寫為通用:array,代碼如下:
{dede:field name='array' runphp='yes'}if(@me['source'] == ""){ @me = "@me['其它變量']";}else {@me = "來源:".@me['source'];}{/dede:field}<small>演示:</small><span>{dede:field name='array' runphp='yes'} if(@me['url']=='')@me="暫無演示";else @me = "<a rel='nofollow' href='/demo/".@me['id']."' target='_blank'>查看演示</a>";{/dede:field}</span>新聞熱點
疑難解答