在制作dedecms模板的過程中經常會用到一些默認dedecms沒有的字段,為此以 dedecms以及以上的基礎上做了一個關于dedecms自定義字段的添加和自定義字段在dedecms模板中的調用方法。 在制作dedecms模板的過程中經常會用到一些默認dedecms沒有的字段,如:
這里的價格的調用,dedecms默認是沒有這個標簽的,那我們如果實現這個價格的調用呢? 在這里我們就需要使用到dedecms模型里的自定義字段了,下面我們以dedecms5.6為例介紹一下dedecms字段的添加和調用方法。(5.3 版本后的所以版本的自定義字段的添加和調用相同) 首先我們打開網站后臺,點擊左側的“核心”,找到模型管理,這是就可以看到“內容模型管理”的選項卡了。如圖:
點擊進入“內容模型管理”這是右側會顯示相應的各個模型了,下面我們以文章模型為例講解自定義字段的添加。
點擊右側的更改小圖標進入文章模型的管理頁面。 這是我們會看到有“基本設置”和“字段管理”2個選項。我們選擇字段管理選項進入。
進入以后我 們會看到有個“添加新字段”的按鈕
點擊“添加新字段”按鈕進入,這時看到的就是添加字段的界面了。 我們以上面講到的價格字段為例進行一個實例操作的講解,如下圖:
全部添加好后點擊確定即可。然后我們進入欄目管理,開始添加內容,打開添加內容頁面后我們會看到一個關于價格的內容輸入框。
這個就是我們剛剛添加到關于價格的字段。 到這里就已經講完關于dedecms自定義字段的一個添加過程,對于自定義字段的添加需要活學活用才能將這個功能的潛力完全發揮出來。下面講一下關于自定 義字段在dedecms模板中的的調用。 我們以在首頁調用為例: Dedecms模板中默認調用文章標題的標簽如下:
那么我們調用自定義字段就是在這個基礎上加以修改來實現的,我們還是以最開始提到的價格為例,具體標簽表現為:
我們可以看到和第一個標簽比較起來有2個不同的地方: 1, 在{dede:arclist row=6 titlelen=32}處多出了addfields='jiage' channelid='1' ,其中addfields='jiage'表示的是指定要獲得的字段 addfields='字段1,字段' channelid='1' 表示的是該字段是屬于哪個模型的,我們這里是指文章模型里添加到所以channelid=的值為1..。 確定文章模型的的ID是多少,我們里在文章模型管理里找到如下圖紅色框內的就是模型ID.
2,還多出一個“[field:jiage/]”這個就是我們在添加字段時添加到字段名了。如果你需要在列表頁中的{dede:list}里調用自定義字段的話直接添加 “[field:jiage/]” 就可以了,但前提條件是你添加字段的時候必須選擇了該項參數。
以上就是關于dedecms自定義字段的添加和調用方法。 另外也可以通過在數據庫中添加字段,修改模板文件也能實現的。比如編輯欄目的時候,添加自己想要的欄目的自定義設置,比如添加欄目關鍵字等等。下面是具體的操作。 第一步:我們要進去mysql 數據庫里添加字段,自己命名好!比如我下面添加了一個欄目搜索關鍵字字段,當然你字段可以自己新建,找到表dede_arctype (這個是欄目模型的數據庫表,前面是你安裝的表名)然后點擊
在點擊添加字段
添加字段
到這里數據庫字段添加好了。 接下來我們開始做后臺。大家寫找到后臺欄目管理模版! 要更改的 2個 D:\www\dede\templets 模版:catalog_add.htm、catalog_edit.htm 下面就演示一個
然后添加 字段表單,這個一般大家都會的 我添加的代碼是:
這里注意了。表單的name 和id 要和添加的 mysql表字段一樣,不應的話。還要多寫個取值代碼。一樣的話。默認dedecms會自動取的,然后我們做最后一部,把數據添加進去。 大家找到: D:\www\dede\catalog_edit.php 目錄可能和大家不一樣 也就是后臺 里面的 catalog_edit.php,catalog_add.php catalog_edit.php要改的地方有:38行
sql語句里面添加我們剛才的 字段進去。也就是下面這個代碼
看到了 這個是添加的:`lanmukeywrod`='$lanmukeywrod',這個是更新欄目的。catalog_add.php添加。也是同樣的辦法。 更改地址有:63行和196行。也是同樣辦法。添加字段信息 到sql里去 更改后的代碼:63行:
添加了 lanmukeywrod 196行:
下面說下 如何調用到前臺
在模版里調用這個就可以了,如果大家是別的字段也是一樣的調用,后面換成字段名稱就可以了。 另外關于自定義字段的完全刪除。 在修改網站的時候由于需要增加自定義字段,后來不需要的時候,發現自定義字段無法刪除。 于是找到了數據庫的dede_addonarticle這個表,看到了自定義字段,刪除后,在后臺的模型中看到自定義字段還存在,很多朋友都是做到這一 步,就不知道如何做了。而且發布文章的時候還有錯誤,提示自定義字段找不到,而無法發布文章。 原來在dede_channeltype這里面也就是模型配置里面還存在這個自定義字段,進入數據庫dede_channeltype表下,然后點擊瀏覽 內容,你會發現fieldset字段里面的內容還存在這個自定義字段。 以下為引用的內容:
這樣就可以了,問題解決了。
這里的價格的調用,dedecms默認是沒有這個標簽的,那我們如果實現這個價格的調用呢? 在這里我們就需要使用到dedecms模型里的自定義字段了,下面我們以dedecms5.6為例介紹一下dedecms字段的添加和調用方法。(5.3 版本后的所以版本的自定義字段的添加和調用相同) 首先我們打開網站后臺,點擊左側的“核心”,找到模型管理,這是就可以看到“內容模型管理”的選項卡了。如圖:
點擊進入“內容模型管理”這是右側會顯示相應的各個模型了,下面我們以文章模型為例講解自定義字段的添加。
點擊右側的更改小圖標進入文章模型的管理頁面。 這是我們會看到有“基本設置”和“字段管理”2個選項。我們選擇字段管理選項進入。
進入以后我 們會看到有個“添加新字段”的按鈕
點擊“添加新字段”按鈕進入,這時看到的就是添加字段的界面了。 我們以上面講到的價格字段為例進行一個實例操作的講解,如下圖:
全部添加好后點擊確定即可。然后我們進入欄目管理,開始添加內容,打開添加內容頁面后我們會看到一個關于價格的內容輸入框。
這個就是我們剛剛添加到關于價格的字段。 到這里就已經講完關于dedecms自定義字段的一個添加過程,對于自定義字段的添加需要活學活用才能將這個功能的潛力完全發揮出來。下面講一下關于自定 義字段在dedecms模板中的的調用。 我們以在首頁調用為例: Dedecms模板中默認調用文章標題的標簽如下:
{dede:arclist row=6 titlelen=32} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist}
{dede:arclist row=8 titlelen=32 addfields='jiage' channelid='1'} <li><span>¥[field:jiage/]起</span><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist}
2,還多出一個“[field:jiage/]”這個就是我們在添加字段時添加到字段名了。如果你需要在列表頁中的{dede:list}里調用自定義字段的話直接添加 “[field:jiage/]” 就可以了,但前提條件是你添加字段的時候必須選擇了該項參數。
以上就是關于dedecms自定義字段的添加和調用方法。 另外也可以通過在數據庫中添加字段,修改模板文件也能實現的。比如編輯欄目的時候,添加自己想要的欄目的自定義設置,比如添加欄目關鍵字等等。下面是具體的操作。 第一步:我們要進去mysql 數據庫里添加字段,自己命名好!比如我下面添加了一個欄目搜索關鍵字字段,當然你字段可以自己新建,找到表dede_arctype (這個是欄目模型的數據庫表,前面是你安裝的表名)然后點擊
在點擊添加字段
添加字段
到這里數據庫字段添加好了。 接下來我們開始做后臺。大家寫找到后臺欄目管理模版! 要更改的 2個 D:\www\dede\templets 模版:catalog_add.htm、catalog_edit.htm 下面就演示一個
然后添加 字段表單,這個一般大家都會的 我添加的代碼是:
<tr> <td height="65">欄目搜索關鍵字:</td> <td> <textarea name="lanmukeywrod" cols="70" rows="4" id="lanmukeywrod" ><?php echo $myrow['lanmukeywrod']?></textarea> </td> </tr>
$upquery = "Update `dede_arctype` set issend='$issend', sortrank='$sortrank', typename='$typename', typedir='$typedir', isdefault='$isdefault', defaultname='$defaultname', issend='$issend', ishidden='$ishidden', channeltype='$channeltype', tempindex='$tempindex', templist='$templist', temparticle='$temparticle', namerule='$namerule', namerule2='$namerule2', ispart='$ispart', corank='$corank', description='$description', keywords='$keywords', moresite='$moresite', `cross`='$cross', `content`='$content', `crossid`='$crossid', `smalltypes`='$smalltypes' $uptopsql where id='$id' ";
$upquery = "Update `dede_arctype` set issend='$issend', sortrank='$sortrank', typename='$typename', typedir='$typedir', isdefault='$isdefault', defaultname='$defaultname', issend='$issend', ishidden='$ishidden', channeltype='$channeltype', tempindex='$tempindex', templist='$templist', temparticle='$temparticle', namerule='$namerule', namerule2='$namerule2', ispart='$ispart', corank='$corank', description='$description', keywords='$keywords', moresite='$moresite', `cross`='$cross', `content`='$content', `crossid`='$crossid', `smalltypes`='$smalltypes', `lanmukeywrod`='$lanmukeywrod' $uptopsql where id='$id' ";
$queryTemplate = "insert into `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`lanmukeywrod`) Values('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','0','','','0','0','0','','','$lanmukeywrod')";
$in_query = "insert into `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2, ispart,corank,description,keywords,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`lanmukeywrod`) Values('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2', '$ispart','$corank','$description','$keywords','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes','$lanmukeywrod')";
{dede:field.lanmukeywrod/}
<field:body itemname='文章內容' type='htmltext' isnull='true' default='' rename='' page='split'/> <field:daima itemname="代碼" autofield="1" notsend="1" type="htmltext" isnull="true" islist="0" default="" function="" maxlength="" page=""> </field:daima> 只要我們刪除<field:你的字段></field>