需求: 需要在網(wǎng)站首頁、欄目頁調(diào)用內(nèi)容詳細(xì)頁中的第一張圖,或者調(diào)用內(nèi)容詳細(xì)頁的多張圖; 再有,需要在內(nèi)容詳細(xì)頁自定義調(diào)用新聞圖片,這個(gè)不常用,要是需要做個(gè)類似圖片模型的圖片輸出,就需要用到。
織夢(mèng)新聞內(nèi)容提取第一張圖片
打開 /include/extend.func.php 在最下面加入個(gè)辦法
/** * 新聞內(nèi)容提取第一張圖片 * * @access public * @param string $id文檔id * @param string $addField字段名 * @return string */ if(!function_exists('getBodyonepic')) { function getBodyonepic($id, $addField='body') { global $dsql; $row = $dsql->GetOne("SELECT a.litpic,c.addtable FROM dede_archives AS a LEFT JOIN dede_channeltype AS c ON a.channel=c.id where a.id='$id'"); $addtable = trim($row['addtable']); if($row['litpic'] == '-' || $row['litpic'] == '') { $litpic = $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif'; } $row = $dsql->GetOne("SELECT $addField FROM `$addtable` WHERE aid=$id"); $body = $row["$addField"]; preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/",$body,$matches); $imgsrc_arr = array_unique($matches[3]); $result = $imgsrc_arr[0] ? $imgsrc_arr[0] : $litpic; return $result; } }
首頁/欄目頁標(biāo)簽調(diào)用 [field:id function=getBodyonepic(@me)/]
內(nèi)容詳細(xì)頁標(biāo)簽調(diào)用 {dede:field.id function=getBodyonepic(@me)/}
織夢(mèng)新聞內(nèi)容提取圖片(多張)自定義輸出 打開 /include/extend.func.php 在最下面加入個(gè)辦法
/** * 新聞內(nèi)容提取圖片(多張)自定義輸出 * * @access public * @param string $string 文檔內(nèi)容 * @param string $num 輸出幾張 * @return string */ if(!function_exists('getBodypics')) { function getBodypics($string, $num) { preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/",$string,$matches); $imgsrc_arr = array_unique($matches[3]); $count = count($imgsrc_arr); $i = 0; foreach($imgsrc_arr as $imgsrc) { if($i == $num) break; $result .= "<img src=http://mengdiqiu.com.cn/a/dedejq/\"$imgsrc\"/>"; $i++; } return $result; } }
首頁/欄目頁標(biāo)簽調(diào)用 {dede:arclist typeid='' row='' channelid='填模型id' addfields='body'} [field:body function=getBodypics(@me,5)/] {/dede:arclist}
內(nèi)容詳細(xì)頁標(biāo)簽調(diào)用 {dede:field.body function=getBodypics(@me,5)/}