<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      dede自定義模型如何使用軟件模型中下載地址softlinks字段的數據類型

      發表日期:2017-11 文章編輯:小燈 瀏覽次數:3385

      dede軟件模型的軟件發布之后,在軟件詳情界面可以直接生成軟件的下載鏈接,并且下載之后該軟件的下載次數會更新,如下圖:

      這是因為軟件模型的軟件地址 字段使用的是“系統專用類型” 。
      但是這個“系統專用類型”在我們自己自定義字段的時候并沒有這個選項。那么是不是就沒有辦法實現軟件模型的這種功能了呢?
      否!

      何為類型?

      如果在數據庫中,肯定是沒有專用類型這樣的說法的,dede中的數據類型和數據庫并不是一一對應的,他更多的是反映這個字段的顯示方式,其次才是數據格式(int char 等),比如附件類型,在發表的時候如果某個模型有這個字段,則自動在表單中添加上傳功能。其實附件類型的字段在數據庫中不過是vachar類型的字符串,存儲的是該附件的保存地址。dede真正對字段類型有約束的是下面圖片中最下方的那片文字區域??梢钥吹缴厦嫦螺d地址(第一個矩形框里面)顯示的是系統專用類型,而下面模型字段配置(文本模式)中field的type屬性卻是softlinks,softlinks才是關鍵。

      但是softlinks在這里卻被叫成了系統專用類型了,這是因為softlinks類型跟addon(附件類型)不一樣,他不能在表單中自動生成類似于addon那種帶上傳功能的效果,具體來說就是在PrintAutoFieldsAdd()方法(在\admin\templets\archives_sg_add.htm)中沒有專門處理softlinks類型在表單中存在方式的代碼。所以如果你是一個獨立模型要使用該字段即使你在模型字段配置(文本模式)中該filed type="softlinks",那么在發布與編輯的時候,你也沒法讓他跟在軟件發布里面一樣。在軟件發布里面表單中下載地址部分是這樣的:

      而你使用filed type="softlinks"在發布表單中該處是這樣的:

      天壤之別吧。

      為什么在軟件模型發布的時候,type="softlinks"就如此神奇呢,這是因為軟件發布的處理是在soft_add.php中,soft_add.php專門對下載鏈接的Url做了加工處理:

      //軟件鏈接列表$urls = '';//本地鏈接處理$softurl1 = stripslashes($softurl1);$nsoftsize = '';if($softurl1 != ''){$urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n";$autosize = empty($autosize) ? FALSE : TRUE;if($autosize && empty($softsize)){$nsoftsize = @filesize($cfg_basedir.$softurl1);if(empty($nsoftsize)) $nsoftsize = '未知';else{$nsoftsize = trim(sprintf("%0.2f", $nsoftsize / 1024 / 1024));$nsoftsize = $nsoftsize." MB";}}}//軟件大小if(!empty($nsoftsize)) $softsize = $nsoftsize;else if(empty($softsize)) $softsize = '未知';else $softsize = $softsize.' '.$unit;//其它鏈接處理for($i=2; $i<=30; $i++){if(!empty(${'softurl'.$i})){$forconfig = empty(${'forconfig'.$i}) ? FALSE : TRUE;if($forconfig){if(empty(${'need'.$i})) continue;$serverUrl = stripslashes(${'softurlfirst'.$i});$serverUrl = preg_replace("#\/$#", "", $serverUrl);$softurl = stripslashes(${'softurl'.$i});if( cn_substr($softurl, 1) != '/' ) $softurl = '/'.$softurl;$softurl = $serverUrl.$softurl;}else{$softurl = stripslashes(${'softurl'.$i});}$servermsg = str_replace("'", "", stripslashes(${'servermsg'.$i}));if($servermsg=='') $servermsg = '下載地址'.$i;if($softurl != 'http://'){$urls .= "{dede:link text='$servermsg'} $softurl {/dede:link}\r\n";}}}$urls = addslashes($urls);

      所以如果你想在自定義模型中使用softlinks類型,你必須將上面的代碼做一些修改然后添加到相關的處理發布的代碼中。

      上面的解釋基本解決了如何在發布的表單中處理softlinks類型以便讓它的表單形式跟軟件模型一樣,那么在文章顯示的時候,這個下載鏈接又如何做到同樣具有軟件模型軟件頁面的這種效果呢:

      “在軟件詳情界面可以直接生成軟件的下載鏈接,并且下載之后該軟件的下載次數會更新”。

      非常幸運,如果上面的步驟正確,這里不需要你做任何事情,因為不管是什么模型,詳情頁面的顯示都是由arc.archives.class.php負責的,arc.archives.class.php中會自動處理softlinks類型。


      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/11247.html
      相關cms文章
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      国产成人精品综合在线观看