今天(tian)遇(yu)到(dao)問(wen)(wen)答有朋(peng)友問(wen)(wen)到(dao)有關 自定義(yi)圖(tu)(tu)集能否加(jia)個鏈接做個外鏈,也就是說,圖(tu)(tu)集里(li)面的圖(tu)(tu)片都能對應(ying)設置外鏈!各自訪問(wen)(wen)。
小秋有空看了下(xia),是可以的 方法(fa)也是很簡單,不(bu)用動數據庫(ku),
第一個(ge)辦(ban)法(fa)就是 跟問答群友說的一樣(yang):
用描述來代替鏈(lian)接: 原來的(de)圖集描述標簽是 {$field.intro} 那么(me) 我們就在模板加上a標簽:
<a href="{$tuji.intro}"><img src='{$tuji.image_url}' /></a>
這樣也是可以的。
但是遇到又(you)想(xiang)要描述 又(you)想(xiang)要鏈接怎(zen)么辦?
那(nei)只能改內核文件了(le):
第二種方法就是:
后臺效果圖:

打開:
由于時間關系 要早休息 明5點得起床,就圖片自己辛苦下吧!



前端效果圖以(yi)及標簽說明:
<a href="{$tuji.intros}"><img src='{$tuji.image_url}' /></a> 替換你的圖集(ji)里面的調用代碼:
比如我的:
{eyou:arcview aid='$field.aid' id='eyoav' addfields='tuji'}
{eyou:diyfield type='imgs' id='tuji' name='$eyoav.tuji'}
<a href="{$tuji.intros}"><img src='{$tuji.image_url}' alt="{$tuji.intro} "/></a>
描述:{$tuji.intro} {/eyou:diyfield}
{/eyou:arcview}


PHP文件代碼說明:
case 'imgs':
{
$imgData = [];
$imgsIntroArr = !empty($dataExt[$key.'_eyou_intro']) ? $dataExt[$key.'_eyou_intro'] : [];
$imgsIntroArrs = !empty($dataExt[$key.'_eyou_intros']) ? $dataExt[$key.'_eyou_intros'] : [];
foreach ($val as $k2 => $v2) {
$v2 = trim($v2);
if (!empty($v2)) {
$imgData[] = [
'image_url' => $v2,
'intros' => !empty($imgsIntroArrs[$k2]) ? $imgsIntroArrs[$k2] : '',
'intro' => !empty($imgsIntroArr[$k2]) ? $imgsIntroArr[$k2] : '',
];
}
}
$val = serialize($imgData);
break;
}
增加一個
intros的值(字段) 當然你(ni)也可以自己(ji)起個 起個的話全部都(dou)要(yao)統一
涉及的文件如下:
applicationadminmodelField.php
applicationadminlogicFieldLogic.php
2個(ge)文件(jian) 代碼都一樣
關鍵(jian)詞: case 'imgs':
后臺模板文件:
applicationadmintemplatefieldaddonextitem.htm
關鍵(jian)詞(ci): {case value="imgs"}
--多張圖---
查找:
<textarea rows="5" cols="60" name="{$vo.fieldArr}[{$vo.name|default=''}_eyou_intro][]" style="height:28px; width: 136px;" placeholder="圖片注釋">{$v2.intro}</textarea>
替換:
<textarea rows="5" cols="60" name="{$vo.fieldArr}[{$vo.name|default=''}_eyou_intro][]" style="height:28px; width: 136px;" placeholder="圖片注釋(shi)">{$v2.intro}</textarea></br>
<textarea rows="5" cols="60" name="{$vo.fieldArr}[{$vo.name|default=''}_eyou_intros][]" style="height:28px; width: 136px;" placeholder="圖集鏈接">{$v2.intros}</textarea>
這(zhe)里注(zhu)意的是有2處 需要增(zeng)加。
這里改好后 打開
dataschema
將(jiang):ey_article_content.php 文件改(gai)名或者(zhe)刪(shan)除。
緩存下即可
前端的標簽 就是
:
你(ni)添加(jia)的自(zi)定義(yi)圖集標(biao)簽
比如:我這里就是隨意(yi)寫的 字段為(wei) tuji
列表頁調用標簽是:
{eyou:arcview aid='$field.aid' id='eyoav' addfields='tuji'}
{eyou:diyfield type='imgs' id='tuji' name='$eyoav.tuji'}
<a href="{$tuji.intros}"><img src='{$tuji.image_url}' alt="{$tuji.intro} "/></a>
描述:{$tuji.intro} {/eyou:diyfield}
{/eyou:arcview}
內容頁是:
{eyou:diyfield type='imgs' id='tuji' name='$eyou.field.tuji'}
<a href="{$tuji.intros}"><img src='{$tuji.image_url}' alt="{$tuji.intro} "/></a>
描述:{$tuji.intro}
{/eyou:diyfield}
其中(zhong)我就增加紅色標簽:{$tuji.intros}
加入(ru)你(ni)起的是TT就是
{$tt.intros}
{$你(ni)的自定(ding)義字段(duan).intros}
值(zhi)得注意的(de)(de)(de)是,這個是自(zi)定義多圖(tu)圖(tu)集的(de)(de)(de)添(tian)加(jia)方法,如果是產品頁自(zi)帶的(de)(de)(de)圖(tu)片(pian)集 是不可行的(de)(de)(de),有(you)空(kong)我還會將(jiang)產品圖(tu)片(pian)集增加(jia)方法寫在(zai)這里下(xia)面。因為時間(jian)關系就只能做(zuo)到(dao)這里了。希望能夠給(gei)你們幫助!
6月20日 在車上(shang)用筆記本做完昨晚未(wei)完成的教程:
以下是圖(tu)片集(ji)增加外(wai)鏈(lian)的方法:
一般就(jiu)是 產(chan)品 和圖像欄(lan)目(mu) 發帖(tie)的時候 里面的 圖片集

以下是具(ju)體修改方法:
新增數據表:
打開數據庫管理頁面

選擇你的數據庫

然后分別倒入以下SQL語句:
ALTER TABLE ey_product_img ADD intros varchar(500) NOT NULL DEFAULT '' COMMENT '圖集鏈接';
ALTER TABLE ey_images_upload ADD intros varchar(500) NOT NULL DEFAULT '' COMMENT '圖(tu)集鏈接';
注意執行前記得備份(fen)數據庫 切記
數據表執行完成后:
打(da)開dataschema 目(mu)錄里面的(de)
ey_images_upload.php
和
ey_product_img.php
2個文件
刪除
現(xian)在我們來(lai)修改下內核文件:
1、打(da)開:applicationadminmodel
ImagesUpload.php文件
找到(dao):關鍵詞:public function saveimg($aid, $post = array())
在大概68行
$imgintro = isset($post['imgintro']) ? $post['imgintro'] : array();
下面新增以下內容:
$imgintros = isset($post['imgintros']) ? $post['imgintros'] : array();
大概在97行左右
$intro = !empty($imgintro[$key]) ? $imgintro[$key] : '';
下面新增:
$intros = !empty($imgintros[$key]) ? $imgintros[$key] : '';
105行左右:
'intro' => $intro,
下面新增:
'intros' => $intros,
完畢
再打開:
applicationadmintemplateimages目錄
打開add.htm
關鍵詞: <label>圖片集</label>
大概133行
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="圖(tu)片注釋" title="標簽調(diao)用:{literal}{$field.intro}{/literal}"></textarea>
下面新增以下代碼:
</br>
<textarea rows="5" cols="60" name="imgintros[]" style="height:28px; width: 136px;" placeholder="圖片注(zhu)釋" title="標簽調用:{literal}{$field.intros}{/literal}"></textarea>
</div>
再打開applicationadmintemplateimages目錄(lu)
edit.htm
關鍵詞(ci): <label>圖片集</label>
大概124行
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="圖片(pian)注釋" title="標簽(qian)調用(yong):{literal}{$field.intro}{/literal}">{$vo.intro}</textarea>
下面新增以下代碼:
</br>
<textarea rows="5" cols="60" name="imgintros[]" style="height:28px; width: 136px;" placeholder="圖(tu)片注釋" title="標簽調用:{literal}{$field.intros}{/literal}">{$vo.intros}</textarea>
再繼續往下找到:
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="圖片注(zhu)釋" title="標簽調用(yong):{literal}{$field.intro}{/literal}"></textarea>
再下面一行新增:
</br>
<textarea rows="5" cols="60" name="imgintros[]" style="height:28px; width: 136px;" placeholder="圖片注釋" title="標簽調用(yong):{literal}{$field.intros}{/literal}"></textarea>
此(ci)文件有(you)兩處 記(ji)住;
產品頁修改:
打開applicationadminmodel目錄
找到(dao):ProductImg.php文件(jian):
搜索關鍵詞: public function saveimg($aid, $post = array())
(大概65行)
在大概68行
$imgintro = isset($post['imgintro']) ? $post['imgintro'] : array();
下面新增以下內容:
$imgintros = isset($post['imgintros']) ? $post['imgintros'] : array();
大概在97行左右
$intro = !empty($imgintro[$key]) ? $imgintro[$key] : '';
下面新增:
$intros = !empty($imgintros[$key]) ? $imgintros[$key] : '';
105行左右:
'intro' => $intro,
下面新增:
'intros' => $intros,
完畢
再打開:
applicationadmintemplateproduct目錄
add.htm文件:
關(guan)鍵詞(ci): <label>圖片集</label>
大概133行
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="圖片注(zhu)釋" title="標(biao)簽調(diao)用:{literal}{$field.intro}{/literal}"></textarea>
下面新增以下代碼:
</br>
<textarea rows="5" cols="60" name="imgintros[]" style="height:28px; width: 136px;" placeholder="圖片注釋" title="標簽調用:{literal}{$field.intros}{/literal}"></textarea>
</div>
再打開applicationadmintemplateproduct目錄
edit.htm
關(guan)鍵(jian)詞(ci): <label>圖片(pian)集</label>
大概124行
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="圖片注釋" title="標簽(qian)調(diao)用(yong):{literal}{$field.intro}{/literal}">{$vo.intro}</textarea>
下面新增以下代碼:
</br>
<textarea rows="5" cols="60" name="imgintros[]" style="height:28px; width: 136px;" placeholder="圖(tu)片注釋" title="標簽調用:{literal}{$field.intros}{/literal}">{$vo.intros}</textarea>
再繼續往下找到:
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="圖(tu)片(pian)注釋" title="標簽調用:{literal}{$field.intro}{/literal}"></textarea>
再下面一行新增:
</br>
<textarea rows="5" cols="60" name="imgintros[]" style="height:28px; width: 136px;" placeholder="圖(tu)片注釋" title="標簽調用:{literal}{$field.intros}{/literal}"></textarea>
此文(wen)件(jian)有兩處 記住;
以上都修改好玩 那么 前(qian)端的圖集調用新增就(jiu)是
{$field.intros}
具體調用方法(fa) 查看相關教(jiao)程:
//www.jinyoudianli.com/plus/search.php?typeid=6&q=%E5%9B%BE%E9%9B%86
例子:
{eyou:list titlelen='40' infolen='20' pagesize='12' id='field'}
{eyou:arcview id='field2'}
{eyou:volist name="$field2.image_list" id='field3'}
<a href ="{$field3.intros}"><img src="{$field3.image_url}" alt="{$field3.intro}"> </a>
{/eyou:volist}
{/eyou:arcview}
{/eyou:list}
最后說明:
如果(guo)還(huan)有(you)其(qi)他(ta)的圖集忽視了 可(ke)以留言 我再按教程寫進去
{$field.intros}
標簽里(li)面的字段intros 是我隨意寫的。為(wei)了(le)教程方便 如(ru)果(guo)你(ni)要自己寫個也(ye)是可以(yi) 但(dan)是一定(ding)要統一!
數(shu)據庫跟文件 都(dou)要一樣(yang)即可(ke)!
自定義多圖(tu)的(de)圖(tu)集(ji) 不涉及(ji)數(shu)(shu)據庫 他是(shi)test記錄的(de)形式 自動寫入數(shu)(shu)據表 而系統(tong)自帶的(de)圖(tu)集(ji)則要涉及(ji)數(shu)(shu)據庫
區別在于這里(li) 謝(xie)(xie)謝(xie)(xie)大家