织梦如何取消文章字数限制?

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

使用系统自带的 {dede:field function='cn_substr(@me,100)'/} 标签 (最推荐)

这是织梦系统原生提供的方法,最简单、最直接,也是官方推荐的方式,它利用了织梦的 function 属性来调用一个PHP函数 cn_substr(),该函数可以截取字符串并支持中文。

织梦限制文章内容字数
(图片来源网络,侵删)

适用场景: 在列表页(index.htm, list_*.htm)中,让文章摘要显示固定的字数。

操作步骤:

  1. 打开你的列表页模板文件,通常是 /templets/default/index.htm(首页)或者 /templets/default/list_*.htm(栏目页)。
  2. 找到文章标题和摘要的代码,通常是这样的结构:
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <p>[field:description function='html2text(@me)'/]...</p>
    </li>
  3. 修改 [field:description],将其替换为带字数限制的标签。
    • [field:description]:调用文章摘要。
    • function='cn_substr(@me, 100)':这是核心。
      • @me:代表当前标签的原始值,即 [field:description] 的内容。
      • cn_substr:织梦内置的截取字符串函数,它能正确处理中文字符,不会出现乱码。
      • 100:你想要显示的字符数(包括中文字符和英文字母/数字)。

修改后的代码示例: 显示 100个字符

<li>
    <a href="[field:arcurl/]">[field:title/]</a>
    <!-- 将下面的第一行替换为第二行 -->
    <!-- <p>[field:description function='html2text(@me)'/]...</p> -->
    <p>[field:description function='cn_substr(@me, 100)'/]...</p>
</li>

进阶用法:

织梦限制文章内容字数
(图片来源网络,侵删)
  • 如果文章没有填写摘要,则从内容中截取: 这是一个更智能的用法。[field:description] 为空,系统会自动从 [field:body](文章正文)中截取。

    <p>
    [field:description function='cn_substr(@me, 100)'/]
    <a href="[field:arcurl/]">[查阅全文]</a>
    </p>
    <!-- 如果摘要为空,则显示下面这个标签的内容 -->
    [field:body function='cn_substr(@me, 100)'/]...
  • 同样,你也可以用这个方法来限制标题的显示长度。

    <a href="[field:arcurl/]">[field:title function='cn_substr(@me, 30)'/]</a>

使用 {dede:arclist} 标签的 sublen 属性

{dede:arclist} 是调用文章列表的标签,它自身就带有一个 sublen 属性,可以直接限制标题的长度。

适用场景:{dede:arclist} 标签中,只限制文章标题的长度。

织梦限制文章内容字数
(图片来源网络,侵删)

操作步骤:

  1. 在模板文件中找到 {dede:arclist}
  2. 在标签内添加 sublen='长度' 属性。

代码示例:

{dede:arclist titlelen='30' row='10'}
    <li>
        <!-- sublen='20' 限制标题显示20个字符 -->
        <a href="[field:arcurl/]">[field:title function='(@me,20)'/]</a>
        <p>[field:description/]</p>
    </li>
{/dede:arclist}

注意:

  • sublen 属性通常只对 [field:title] 生效。
  • 对于 [field:description][field:body],仍然需要使用方法一的 function='cn_substr()'

修改数据库字段长度 (高级,不推荐普通用户操作)

这个方法不是在模板上做限制,而是直接修改数据库的结构,从根本上限制用户能输入的字数。

适用场景: 强制所有用户在后台发布文章时,摘要或内容不能超过某个长度,这通常用于有严格内容规范的企业站。

警告: 此方法有风险,操作不当可能导致网站异常。请务必在操作前备份你的数据库!

操作步骤 (以修改 description 摘要字段为例):

  1. 登录你的网站数据库,可以使用 phpMyAdmin 或其他数据库管理工具。
  2. 找到对应的表通常在 dede_archives 表,description)就在这个表中。
  3. 修改字段类型
    • 找到 dede_archives 表中的 description 字段。
    • 点击“编辑”或“修改”。
    • 类型text(最大65,535字节)修改为 varchar(n)
      • varchar(200):表示最大可以存储200个字符。
      • varchar(500):表示最大可以存储500个字符。
    • 保存修改。

效果: 修改后,当你在后台编辑文章,文章摘要”输入框的内容超过了你设定的长度(如200个字符),系统将无法保存,并提示你内容过长。

缺点:

  • 风险高:直接操作数据库。
  • 不灵活:所有栏目都受此限制,无法针对不同栏目设置不同长度。
  • 只影响后台输入:对已经发布的长文章摘要无效,需要手动修改。

总结与推荐

方法 优点 缺点 推荐度
cn_substr() 简单、安全、灵活,可在任意模板中自由控制,是织梦的最佳实践。 无明显缺点。 ⭐⭐⭐⭐⭐ (强烈推荐)
sublen属性 使用简单,专门为{dede:arclist}标题设计。 功能单一,仅适用于标题,不灵活。 ⭐⭐⭐
修改数据库 从根本上限制,后台无法输入超长内容。 风险高、不灵活、影响已发布内容 ⭐ (仅高级用户在特定需求下使用)

对于绝大多数用户,请直接使用【方法一】,它是最简单、最安全、最有效的解决方案。

-- 展开阅读全文 --
头像
梦织源码本地安装测试究竟该怎么操作?
« 上一篇 昨天
页模板下载哪里找?
下一篇 » 昨天

相关文章

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