织梦缩略图代码怎么调用?

99ANYc3cd6
预计阅读时长 20 分钟
位置: 首页 织梦建站 正文

核心标签

织梦调用缩略图的核心标签是 [field:picname/]

织梦调用缩略图代码
(图片来源网络,侵删)

这个标签会输出文章在后台设置的“缩略图”字段路径。


在首页、列表页调用文章缩略图

这是最常见的用法,通常与织梦的循环标签 {dede:arclist} 配合使用。

基础代码

{dede:arclist typeid='' row='10' titlelen='30'}
    <li>
        <a href="[field:arcurl/]">
            <!-- 核心缩略图调用代码 -->
            <img src="[field:picname/]" alt="[field:title/]" />
        </a>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}

代码解释:

  • {dede:arilogy ...}: 这是一个循环标签,用于获取指定条件的文章列表。
  • typeid='': 可选参数,指定要调用哪个栏目下的文章,留空表示调用所有栏目。
  • row='10': 可选参数,指定要获取的文章数量,这里是10篇,len='30'`: 可选参数,截取文章标题的字符长度,防止标题过长影响布局。
  • [field:arcurl/]: 获取文章的链接地址。
  • [field:picname/]: 核心标签,获取文章的缩略图路径。
  • [field:title/]: 获取文章的标题,通常用作img标签的alt` 属性,有利于SEO。

带样式的代码(推荐)

在实际开发中,我们通常会为图片添加一些样式,并处理图片不存在的情况。

织梦调用缩略图代码
(图片来源网络,侵删)
{dede:arclist typeid='' row='10' titlelen='30'}
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">
            <!-- 
              1. 使用 style="width:200px; height:150px;" 控制图片大小
              2. 使用 align="left" 让图片文字环绕
              3. 使用 alt="[field:title/]" 增加SEO友好度
            -->
            <img src="[field:picname/]" alt="[field:title/]" style="width:200px; height:150px;" />
        </a>
        <h3><a href="[field:arcurl/]">[field:title/]</a></h3>
        <p>[field:description function='cn_substr(@me,100)'/]...</p>
    </li>
{/dede:arclist}

页(文章页)调用缩略图

页(article_article.htm 模板),调用缩略图更简单,因为当前文章的数据是已知的。

基础代码

<article>
    <h1>[field:title/]</h1>
    <!-- 在文章顶部调用缩略图 -->
    <div class="article-main-img">
        <img src="[field:picname/]" alt="[field:title/]" />
    </div>
    <div class="article-content">
        [field:body/]
    </div>
</article>

常用技巧与高级用法

处理“没有缩略图”的情况

如果文章没有上传缩略图,直接调用 [field:picname/] 可能会显示一个破损的图标,我们可以使用 if 条件语句来判断。

{dede:arclist typeid='' row='10'}
    <li>
        <a href="[field:arcurl/]">
            <!-- 使用 if 判断,如果缩略图存在则显示,否则显示默认图 -->
            [field:picname runphp='yes']
                if(@me != '') {
                    @me = '<img src="' . @me . '" alt="[field:title/]" />';
                } else {
                    @me = '<img src="/images/default.jpg" alt="[field:title/]" />'; // 替换成你的默认图片路径
                }
            [/field:picname]
        </a>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}

代码解释:

  • runphp='yes': 启用PHP运行功能。
  • if(@me != ''): @me 变量代表了 [field:picname/] 的当前值,即缩略图路径,这里判断路径是否为空。
  • 如果路径不为空,就生成一个带有真实缩略图的 <img>
  • 如果路径为空,就生成一个带有默认图片的 <img>

调用图集缩略图

对于图集类型的文章,缩略图的调用方式略有不同,图集的缩略图是第一张图片。

{dede:arclist} 中调用图集缩略图:

{dede:arclist typeid='' row='10' addfields='body'}
    <li>
        <a href="[field:arcurl/]">
            <!-- 
              1. 使用 [field:imglink/] 获取图集第一张图片的链接
              2. 使用 [field:litpic/] 获取图集第一张图片的地址
            -->
            <img src="[field:litpic/]" alt="[field:title/]" />
        </a>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}

注意:

  • [field:litpic/][field:picname/] 在大多数情况下效果相同,但在处理图集时,[field:litpic/] 更明确地指向第一张图片。
  • addfields='body': 有时需要添加这个参数以确保能获取到图集内容。

调用多图(幻灯片)缩略图

如果开启了“多图”或“幻灯片”功能,缩略图数据存储在 body 字段中,格式为 |图片地址|,我们需要用PHP代码来解析它。

{dede:arclist typeid='' row='10' addfields='body'}
    <li>
        <a href="[field:arcurl/]">
            <!-- 使用PHP代码解析body中的第一张图片 -->
            [field:body runphp='yes']
                $dtp = new DedeTagParse();
                $dtp->SetNameSpace('field', '[', ']');
                $dtp->LoadSource(@me);
                $imgurl = $dtp->GetAtt('imgurl', 0); // 获取第一个imgurl属性
                if($imgurl != '') {
                    @me = '<img src="' . $imgurl . '" alt="[field:title/]" />';
                } else {
                    @me = '<img src="/images/default.jpg" alt="[field:title/]" />';
                }
            [/field:body]
        </a>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}

代码解释:

  • 这种方法稍微复杂,它解析了文章内容 body 中的图片标记。
  • 如果你的网站不常用多图功能,建议优先使用前面提到的 if 判断方法,它更通用。

场景 核心代码 说明
首页/列表页 [field:picname/] 最基础、最常用的调用方式。
[field:picname/] 在文章模板中直接调用当前文章的缩略图。
处理无图 if(@me != '') { ... } else { ... } 通过 runphp 判断,为无图文章设置默认图片。
图集缩略图 [field:litpic/] 调用图集的第一张图片作为缩略图。
多图缩略图 解析[field:body/] 用于调用开启了多图功能的文章的第一张图片,代码较复杂。

希望这份详细的指南能帮助你完全掌握织梦CMS中缩略图的调用方法!

-- 展开阅读全文 --
头像
数组越界会导致什么后果?
« 上一篇 前天
大一C语言课程设计题目有哪些常见类型?
下一篇 » 前天

相关文章

取消
微信二维码
支付宝二维码