织梦缩略图调用方法是什么?

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

缩略图字段

织梦文章的缩略图存储在数据库的 dede_archives 表的 litpic 字段中,调用缩略图,本质上就是读取这个字段里的图片路径,并生成完整的 <img>


在首页、列表页(arclist标签)中调用缩略图

这是最常见的情况,比如在首页的文章列表、栏目列表页等,织梦提供了强大的 arclist 标签来循环输出文章列表,并在其中调用缩略图。

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

基础代码

{dede:arclist row='10' titlelen='30'}
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">
            <img src="[field:litpic/]" alt="[field:title/]" />
        </a>
        <h3><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></h3>
    </li>
{/dede:arclist}

代码解析

  • {dede:arclist row='10' titlelen='30'}: 调用文章列表标签。
    • row='10': 表示调用10篇文章。
    • titlelen='30': 表示标题最多显示30个字符。
  • [field:litpic/]: 这是调用缩略图的核心,它会输出文章的缩略图路径。
  • [field:arcurl/]: 调用文章的完整链接。
  • [field:title/]: 调用文章的标题。
  • alt="[field:title/]": 为图片添加 alt 属性,这既是SEO优化,也是无障碍访问的好习惯。

页(article_article.htm)中调用缩略图

页,我们通常只在文章开头显示一张大尺寸的缩略图,这时使用 field 标签即可。

代码

{dede:field name='litpic'/}

进阶用法:在内容页调用并添加样式

通常我们会为这张图片添加一些CSS样式,比如设置宽度、居中等。

<img src="{dede:field name='litpic'/}" alt="{dede:field name='title'/}" class="article-main-image" />

然后在你的CSS文件中定义 .article-main-image 的样式。


在自定义表单(自定义模型)中调用缩略图

如果你使用了织梦的自定义模型,并添加了“图片”类型的字段,调用方式会略有不同。

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

假设你的自定义模型中有一个名为 myimage 的图片字段。

在列表页(自定义模型的列表模板)中调用

使用 arclst 标签(注意是 arclst,不是 arclist)。

{dede:arclist typeid='你的自定义模型栏目ID' row='5'}
    <a href="[field:arcurl/]">
        <img src="[field:myimage/]" alt="[field:title/]" />
    </a>
{/dede:arclist}

页(自定义模型的内容模板)中调用

页类似,使用 field

<img src="{dede:field name='myimage'/}" alt="{dede:field name='title'/}" />

重要技巧与注意事项

缩略图不存在时的处理

如果某篇文章没有上传缩略图,直接调用 [field:litpic/] 可能会显示一个破损的图标或一个空白的 <img> 标签,我们可以使用 if 条件语句来处理这种情况,让它显示一个默认图片。

在列表页中的写法:

织梦怎么调用缩略图
(图片来源网络,侵删)
{dede:arclist row='10'}
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">
            {dede:if field='litpic' is='notnull'}
                <img src="[field:litpic/]" alt="[field:title/]" />
            {else/}
                <img src="/images/default.jpg" alt="[field:title/]" /> 
            {/dede:if}
        </a>
    </li>
{/dede:arclist}
  • {dede:if field='litpic' is='notnull'}: 判断 litpic 字段是否不为空。
  • {else/}: 如果为空,则执行这里的代码,显示你指定的默认图片路径(如 /images/default.jpg)。
  • {/dede:if}: 结束判断。

调用不同尺寸的缩略图(推荐方法)

织梦上传图片时,会自动生成不同尺寸的缩略图(如 s 小图, m 中图, l 大图),我们可以在调用时指定,以优化加载速度。

  • [field:litpic/]: 原始尺寸的缩略图。
  • [field:litpic function='str_replace("-lp", "-s", "@me)'/]: 调用小尺寸的缩略图。
  • [field:litpic function='str_replace("-lp", "-m", "@me)'/]: 调用中等尺寸的缩略图。
  • [field:litpic function='str_replace("-lp", "-l", "@me)'/]: 调用大尺寸的缩略图。

实际应用示例(调用中等尺寸缩略图):

{dede:arclist row='10'}
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">
            {dede:if field='litpic' is='notnull'}
                <img src="[field:litpic function='str_replace("-lp", "-m", "@me)'/]" alt="[field:title/]" />
            {else/}
                <img src="/images/default.jpg" alt="[field:title/]" />
            {/dede:if}
        </a>
    </li>
{/dede:arclist}

注意:你的缩略图命名规则可能不是 -lp, -s 等,请根据你网站后台生成的图片实际名称进行修改。

检查缩略图上传路径

如果缩略图显示不出来,除了检查代码,还要确认:

  • 后台“系统” -> “系统基本参数” -> “核心设置” 中的 “附件目录” 是什么(默认是 /uploads/)。
  • 上传的缩略图是否正确地存放在了这个目录下。
场景 核心标签 示例代码
首页/列表页 arclist + [field:litpic/] <img src="[field:litpic/]" alt="[field:title/]">
field + name='litpic' {dede:field name='litpic'/}
自定义模型 arclst/field + name='字段名' <img src="[field:myimage/]" alt="[field:title/]">
无缩略图处理 dede:if 条件判断 {dede:if field='litpic' is='notnull'}...{else/}...{/dede:if}
调用指定尺寸 function 函数处理 [field:litpic function='str_replace("-lp", "-m", "@me)'/]

掌握以上几种方法,你就可以在织梦网站的任何位置灵活地调用缩略图了,希望这个详细的指南对你有帮助!

-- 展开阅读全文 --
头像
C语言iterator是什么?如何实现?
« 上一篇 04-20
Public C语言是什么?为何用public修饰?
下一篇 » 04-20

相关文章

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