使用 DedeCMS 的模板标签
DedeCMS 的内容是通过模板标签来调用和显示的,图片的显示也不例外,主要依赖于 这是最常见的需求,比如在首页的文章列表中,每条新闻旁边都有一张小图。 在后台发布或编辑文章时,一定要在“缩略图”这一项上传或填写图片地址。 找到你当前使用的模板目录下的列表页模板文件,通常是:
在需要显示图片的位置,插入以下代码: 示例效果: 这种方法用于显示文章正文中作者插入的图片。 在后台编辑文章时,使用编辑器(如ckeditor)插入图片。 找到你当前使用的模板目录下的文章详情页模板文件,通常是:
在需要显示文章正文的位置,使用 这个标签的作用是: 它会自动解析文章正文中的所有HTML代码,包括 你可能需要在文章中额外上传一些图片,产品图”、“轮播图”等,这时就需要使用自定义字段。 发布或编辑文章时,你会发现新增了一个“产品图”的输入框,在这里上传你的图片。 在模板文件(列表页或内容页)中,使用以下标签来调用: 注意: 你会发现图片路径前面有 ,或者图片无法显示,这和 DedeCMS 的“站点设置”有关。 DedeCMS 自带强大的图片处理功能,可以在调用缩略图时自动生成指定尺寸的图片,避免原图过大导致页面加载缓慢。 使用方法:在 参数说明: 这样,即使你上传的是一张 1000x1000 的大图,DedeCMS 也会自动生成一个 250x180 的小图来显示,大大提升网站性能。 如果你的自定义字段类型是“图片(多张)”,那么调用方式就和单张图片不同。 代码解释: 希望这份详细的指南能帮助你解决在 DedeCMS 中显示图片的问题!如果还有其他疑问,欢迎随时提问。{dede:field}
在文章列表页(首页、列表页)显示文章的缩略图
步骤 1:确保文章有缩略图
步骤 2:修改列表页模板文件
/templets/default/list_artlist.htm (默认模板)
或者你自定义模板目录下的 list_xxx.htm。<a href='[field:arcurl/]'>
<img src='[field:litpic/]' alt='[field:title/]' width='120' height='90' />
</a>
代码详解:
[field:litpic/]:这是调用文章缩略图地址的核心标签,它会自动获取你在后台设置的缩略图路径。[field:arcurl/]:这是调用文章链接地址的标签,我们将它放在 <a> 标签的 href 属性中,这样点击图片就能跳转到文章详情页。[field:title/]:这是调用文章标题的标签,我们把它放在 <img> 标签的 alt 属性中,这对于SEO(搜索引擎优化)和无障碍访问非常重要。width='120' height='90':直接在 <img> 标签中设置图片的显示宽高,可以防止页面布局错乱。<li>
<span class="title"><a href="[field:arcurl/]">[field:title/]</a></span>
<span class="pic">
<!-- 在这里插入图片代码 -->
<a href="[field:arcurl/]">
<img src="[field:litpic/]" alt="[field:title/]" width="120" height="90" />
</a>
</span>
<span class="intro">[field:description function='cn_substr(@me,100)'/]...</span>
</li>
页(文章详情页)显示文章内容中的图片
步骤 1:确保文章正文中有图片
步骤 2:修改文章内容页模板文件
/templets/default/article_article.htm (默认模板)
或者你自定义模板目录下的 article_xxx.htm。{dede:field.body/}
{dede:field.body/}
<img> 标签,所以正文里的图片会直接显示出来。
调用自定义字段中的图片
步骤 1:添加自定义字段
product_img。步骤 2:在文章中填写图片值
步骤 3:在模板中调用
<img src='[field:product_img/]' alt='自定义图片' />
[field:product_img/] 中的 product_img 必须和你刚才设置的“字段名”完全一致。
高级技巧与常见问题
图片路径问题( 和 )
cfg_multi_site”选项。
N。www.yoursite.com/ dedecms/),将其设置为 Y。图片裁剪与缩略图
[field:litpic/] 后面加上 style 或 ddimg 参数。<!-- 方法一:使用 style 参数(推荐) -->
<img src="[field:litpic style='imgwidth=250&imgheight=180&text=/uploads/allimg/240101/1-2401011GK0152.jpg'/]" alt="[field:title/]">
<!-- 方法二:使用 ddimg 参数(旧版) -->
<img src="[field:litpic ddimg='imgwidth=250&imgheight=180'/]" alt="[field:title/]">
imgwidth=250:设置缩略图宽度为 250px。imgheight=180:设置缩略图高度为 180px。text='...':可以给图片加上一个文字水印。循环调用多张图片(如幻灯片、产品图集)
/uploads/1.jpg,/uploads/2.jpg,/uploads/3.jpg。{dede:field} 的 array 属性来循环遍历。<ul class="pic-list">
{dede:field name='imgurls' function='str_replace(",", "@me", @me)'/}
{dede:array}
<li>
<a href="[field:link/]" target="_blank">
<img src="[field:value/]" alt="图片" />
</a>
</li>
{/dede:array}
</ul>
{dede:field name='imgurls' function='str_replace(",", "@me", @me)'/}:这一步很关键,它将用逗号分隔的字符串转换成一个数组,供下面的 {dede:array} 循环使用。{dede:array}...{/dede:array}:这是一个循环标签,它会遍历上一步生成的数组。[field:value/]:在循环中,它代表当前循环到的单张图片的路径。
场景
核心标签
说明
文章列表缩略图
[field:litpic/]用于首页、列表页,调用后台设置的缩略图。
图片
{dede:field.body/}用于文章详情页,自动显示正文中的所有图片。
自定义单张图片
[field:你的字段名/]调用你在模型中添加的单张图片字段。
自定义多张图片
{dede:array}...{/dede:array}调用多张图片字段,需要配合
function 进行数据转换。
