完美解決dedecms內容頁列表頁調用自定義圖片地址_DedeCms教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!
       教大家如何完美的解決dedecms內容頁或列表頁調用自定義圖片,輸出的格式如下:
      <li>
      <a href='/uploads/140420/1-140420164Z2914.jpg' target='_blank'>
       <img src='/uploads/140420/1-140420164Z2914.jpg' width='253' border='0'/>
      </a>
      <br />
      <a href='/uploads/140420/1-140420164Z2914.jpg' target='_blank'></a>
      </li>
              這很難滿足我們的實際需要,比如做一個幻燈片的時候會調用圖集的圖片,而不用默認的dedecms的圖集模版,所以自己動手吧,網上查閱了很多這方面的資料,最后總結如下:
             在設置自定義字段為圖片的時候一定要選“圖片(僅網址)”,這樣輸出的格式就是
      {dede:imgtext='' width='270' height='129'}/uploads/101017/1-10101H21F54P.gif{/dede:img} 
             如果自定義字段名為:name,內容頁前臺這樣調用:
      <img src="{dede:field.name}"/>
             輸出的是
      <img src="{dede:img text=''width='270' height='129'}/uploads/101017/1-10101H21F54P.gif{/dede:img}"/>
            其實是輸出的時候沒有相關的php函數,找到/include/extend.func. php
           在最下面復制以下代碼(?>前面)
      function GetOneImgUrl($img,$ftype=1){  
          if($img <> ''){  
              $dtp = new DedeTagParse();  
              $dtp->LoadSource($img);  
              if(is_array($dtp->CTags)){  
                  foreach($dtp->CTags as $ctag){
                      if($ctag->GetName()=='img'){  
                          $width = $ctag->GetAtt('width');  
                          $height = $ctag->GetAtt('height');  
                          $imgurl = trim($ctag->GetInnerText());  
                          $img = '';  
                          if($imgurl != ''){  
                              if($ftype==1){  
                                  $img .= $imgurl;  
                              }  
                              else{  
                                  $img .= '<img src="'.$imgurl.'" width="'.$width.'" height="'.$height.'" />';  
                              }  
                          }  
                      }  
                  }  
              }  
              $dtp->Clear();  
              return $img;      
          }  
      }  
      保存即可。
            前臺內容頁格式為:
       <img alt="{dede:field.title/}" src="{dede:field.name function='GetOneImgUrl(@me,1)'/}">
             看得懂的站長容易理解,@me,0   代表只輸出路徑,@me,0    代表連寬、高一起輸出
             同樣的列表頁或首頁用相應的標簽套進去就可以了。

      查看更多 DedeCms教程  織夢模板  織夢DedeCms視頻教程  織夢dedecms專題

      來源:模板無憂//所屬分類:DedeCms教程/更新時間:2020-04-14
      相關DedeCms教程