今天遇到问答有朋友问到有关 自定义图集能否加个链接做个外链,也就是说,图集里面的图片都能对应设置外链!各自访问。
小秋有空看了下,是可以的 方法也是很简单,不用动数据库,
第一个办法就是 跟问答群友说的一样:
用描述来代替链接: 原来的图集描述标签是 {$field.intro} 那么 我们就在模板加上a标签:
<a href="{$tuji.intro}"><img src='{$tuji.image_url}' /></a>
这样也是可以的。
但是遇到又想要描述 又想要链接怎么办?
那只能改内核文件了:
第二种方法就是:
后台效果图:
打开:
由于时间关系 要早休息 明5点得起床,就图片自己辛苦下吧!
前端效果图以及标签说明:
<a href="{$tuji.intros}"><img src='{$tuji.image_url}' /></a> 替换你的图集里面的调用代码:
比如我的:
{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的值(字段) 当然你也可以自己起个 起个的话全部都要统一
涉及的文件如下:
applicationadminmodelField.php
applicationadminlogicFieldLogic.php
2个文件 代码都一样
关键词: case 'imgs':
后台模板文件:
applicationadmintemplatefieldaddonextitem.htm
关键词: {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="图片注释">{$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>
这里注意的是有2处 需要增加。
这里改好后 打开
dataschema
将:ey_article_content.php 文件改名或者删除。
缓存下即可
前端的标签 就是
:
你添加的自定义图集标签
比如:我这里就是随意写的 字段为 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}
其中我就增加红色标签:{$tuji.intros}
加入你起的是TT就是
{$tt.intros}
{$你的自定义字段.intros}
值得注意的是,这个是自定义多图图集的添加方法,如果是产品页自带的图片集 是不可行的,有空我还会将产品图片集增加方法写在这里下面。因为时间关系就只能做到这里了。希望能够给你们帮助!
6月20日 在车上用笔记本做完昨晚未完成的教程:
以下是图片集增加外链的方法:
一般就是 产品 和图像栏目 发帖的时候 里面的 图片集
以下是具体修改方法:
新增数据表:
打开数据库管理页面
选择你的数据库
然后分别倒入以下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 '图集链接';
注意执行前记得备份数据库 切记
数据表执行完成后:
打开dataschema 目录里面的
ey_images_upload.php
和
ey_product_img.php
2个文件
删除
现在我们来修改下内核文件:
1、打开:applicationadminmodel
ImagesUpload.php文件
找到:关键词: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="图片注释" title="标签调用:{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>
再打开applicationadmintemplateimages目录
edit.htm
关键词: <label>图片集</label>
大概124行
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="图片注释" title="标签调用:{literal}{$field.intro}{/literal}">{$vo.intro}</textarea>
下面新增以下代码:
</br>
<textarea rows="5" cols="60" name="imgintros[]" style="height:28px; width: 136px;" placeholder="图片注释" title="标签调用:{literal}{$field.intros}{/literal}">{$vo.intros}</textarea>
再继续往下找到:
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="图片注释" title="标签调用:{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>
此文件有两处 记住;
产品页修改:
打开applicationadminmodel目录
找到:ProductImg.php文件:
搜索关键词: 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文件:
关键词: <label>图片集</label>
大概133行
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="图片注释" title="标签调用:{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
关键词: <label>图片集</label>
大概124行
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="图片注释" title="标签调用:{literal}{$field.intro}{/literal}">{$vo.intro}</textarea>
下面新增以下代码:
</br>
<textarea rows="5" cols="60" name="imgintros[]" style="height:28px; width: 136px;" placeholder="图片注释" title="标签调用:{literal}{$field.intros}{/literal}">{$vo.intros}</textarea>
再继续往下找到:
<textarea rows="5" cols="60" name="imgintro[]" style="height:28px; width: 136px;" placeholder="图片注释" title="标签调用:{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>
此文件有两处 记住;
以上都修改好玩 那么 前端的图集调用新增就是
{$field.intros}
具体调用方法 查看相关教程:
https://www.eyoucms.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}
最后说明:
如果还有其他的图集忽视了 可以留言 我再按教程写进去
{$field.intros}
标签里面的字段intros 是我随意写的。为了教程方便 如果你要自己写个也是可以 但是一定要统一!
数据库跟文件 都要一样即可!
自定义多图的图集 不涉及数据库 他是test记录的形式 自动写入数据表 而系统自带的图集则要涉及数据库
区别在于这里 谢谢大家