Dede织梦productimagelist标签调用标题及自定义字段

  262 次阅读

CONTENT

{dede:productimagelist}织梦图集标签给img添加alt属性时默认要调用的是注释(即:[field:text/]),可是为了节省时间和劳动力,CMS集中营站长不想给每张图片都填写注释而是想直接调用标题,也就是想用[field:title/]标签,试了下,结果不行,最后CMS集中营站长通过源代码的修改,终于搞定了,希望CMS集中营站长的这个修改经验对你有所帮助。

解决办法:

打开 \include\taglib\productimagelist.lib.php 文件找到(约20行):

  1. if(!isset($refObj->addTableRow['imgurls'])) return ;

在此代码下边添加如下代码:

  1. $aid = $refObj->ArcID;
  2. $row = $refObj->dsql->GetOne("SELECT title FROM `#@__archives` WHERE `id` = '$aid';");
  3. $title = $row['title'];

找到(约41行):

  1. $row['text'] = $ctag->GetAtt('text');

在此代码下边添加如下代码:

$row['title'] = $title;

调用代码:

[field:title/]

举一反三:

调用自定义字段

  1. $aid = $refObj->addTableRow['aid'];
  2. $row = $refObj->dsql->GetOne("SELECT size FROM `#@__addonimages` WHERE `aid` = '$aid';");
  3. $size = $row['size'];

调用图集图片数量

  1. $aid = $refObj->addTableRow['aid'];
  2. $row = $refObj->dsql->GetOne("SELECT imgurls FROM `#@__addonimages` WHERE `aid` = '$aid';");
  3.  $imgurls= $row['imgurls'];
  4. preg_match_all("/{dede:img (.*){\/dede:img/isU",$imgurls,$wordcount);
  5. $count=count($wordcount[1]);

Comments | NOTHING

暂无评论...