帝国CMS根据内容正文字段[newstext]批量获取描述简介字段[smalltext]的方法

使用帝国CMS根据内容正文字段[newstext]批量获取描述简介字段[smalltext]的方法,可以通过以下步骤实现:

  1. 在后台管理界面,选择“内容模型管理”,进入相应的内容模型设置页面。选择需要批量获取描述简介字段的模型,在“字段管理”中找到相应的正文字段[newstext]和描述简介字段[smalltext]。

  2. 修改正文字段[newstext]的类型为“富文本”,并设置“允许作为摘要使用”的选项。

  3. 在描述简介字段[smalltext]的设置页面,选择“使用自定义函数”的选项,并在“函数代码”输入框中输入以下代码:

function smalltext($data, $options) {
    $content = $data['newstext'];
    $pattern='/<img.*?src=[\"|\']?(.*?)[\"|\']?\s.*?>/i';
    preg_match_all($pattern,$content,$match);
    $desc = strip_tags($content);
    $desc=preg_replace("/[\s]+/"," ",$desc);
    $desc=trim($desc);
    if(preg_match('/^[\x{4e00}-\x{9fa5}A-Za-z0-9]+$/u',$desc)){
        $desc=mb_substr($desc,0,$options['maxlen'],'utf-8');
        if(count($match[1])>0){
            return '<img src="'.$match[1][0].'" title="'.$data['title'].'">'.$desc.' ...';
        }
        return $desc.' ...';
    } else if ($options['default']) {
        return $options['default'];
    }
    return $data['title'];
}
  1. 在“函数参数”输入框中输入以下代码:
maxlen=50,default=暂无简介 

其中,maxlen表示描述简介的最大字符数,default表示如果没有描述简介,则默认使用该文字。

  1. 点击“保存”按钮,保存设置,即可完成。

对于具体使用的示例:

例如,现有一篇名为“帝国CMS”的文章,其正文内容为“帝国CMS是一款优秀的内容管理系统,其具有丰富的功能和灵活的扩展性。”

  1. 根据上述步骤,修改正文字段类型为“富文本”,并设置“允许作为摘要使用”的选项。在描述简介字段设置页面中,选择“使用自定义函数”的选项,输入函数代码和参数,保存设置。

  2. 在前台页面中,显示该文章列表时,会自动根据正文字段[newstext]批量获取描述简介字段[smalltext]的值。在该文章的列表项中,将只显示描述简介字段中的前50个字符,并在末尾加上省略号。

<img src="" title="帝国CMS">帝国CMS是一款优秀的内容管理系统,其具有丰富的功...

通过以上步骤,可以快速方便地批量获取描述简介,并在前台页面中展示。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:帝国CMS根据内容正文字段[newstext]批量获取描述简介字段[smalltext]的方法 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • 使用递归遍历对象获得value值的实现方法

    使用递归遍历对象获得 value 值是一个常用的技巧,可以用于处理对象数据或嵌套对象。下面是一个完整的攻略,介绍实现方法的具体步骤。 步骤一:定义方法 首先,我们需要定义一个递归方法,该方法将遍历对象并返回目标值。以下是一个示例方法: function findValue(obj, targetKey) { for (var key in obj) { va…

    other 2023年6月27日
    00
  • java的break跳出多层循环

    当我们在Java中使用多层循环时,有时需要在内层循环中使用break语句来跳出外层循环。以下是Java中使用break跳出多层循环的完整攻略。 使用标签 Java中可以使用标签(label)来标识循环语句,从而在内层循环中使用break语句跳出外层循环。以下是一个示例: outer: for (int i = 0; i < 10; i++) { for…

    other 2023年5月6日
    00
  • wegame错误代码97怎么解决?登陆wegame错误码97解决方案

    Wegame错误代码97解决方案 在登录wegame的时候,有时候会出现错误代码97,这是因为wegame客户端无法连接互联网。下面是具体的解决方案。 方法一:检查网络连接 登陆Wegame需要连接互联网,如果您的网络连接出现问题,就会出现错误代码97。所以,请先检查一下您的网络连接。 您可以打开浏览器,尝试访问一些网站看看能不能连接上,或者您可以尝试开启其…

    other 2023年6月26日
    00
  • 服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu

    下面我来为您详细讲解一下“服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu”的攻略。 简介 本文主要讲解服务端 VBScript 与 JScript 几个相同特性的写法,主要包括字符串操作、数组操作、日期格式化等。 字符串操作 字符串截取 VBScript 可以使用 Mid 函数截取字符串,JScript 可以使用 …

    other 2023年6月27日
    00
  • 浅入浅出的讲解Spring循环依赖问题

    浅入浅出的讲解Spring循环依赖问题 在Spring应用程序中,依赖注入(Dependency Injection)是一种非常常用的设计模式。通常情况下,我们通过在类的成员变量上使用@Autowired来实现依赖注入。但是,当两个或多个类互相依赖时,就可能发生循环依赖的问题。 什么是循环依赖 循环依赖指的是,当两个或多个类互相依赖时,形成的依赖链呈现出循环…

    other 2023年6月27日
    00
  • Java NIO实现多人聊天室

    Java NIO(New IO)是Java 1.4版本新增的一组IO API,是Java提供的非阻塞IO解决方案。Java NIO通过Channel、Buffer、Selector等新的概念,提供高速的、可扩展的、非阻塞的IO操作方式,使其能够轻松地实现高性能的网络应用程序。下面将详细介绍如何使用Java NIO实现多人聊天室。 1. 需求分析 我们需要实现…

    other 2023年6月27日
    00
  • asp 性能测试报告 学习asp朋友需要了解的东西

    以下是对ASP性能测试报告的详细攻略: 准备工作 安装性能测试工具,如Apache JMeter或LoadRunner。 配置测试环境,包括服务器、数据库和网络设置。 设计性能测试场景 确定测试目标,例如测试网站的并发用户数、响应时间和吞吐量。 创建测试计划,包括测试场景、用户行为和数据负载。 配置性能测试工具,设置并发用户数、请求频率和持续时间。 执行性能…

    other 2023年10月18日
    00
  • Python中递归以及递归遍历目录详解

    那我来详细讲解一下“Python中递归以及递归遍历目录”的攻略。 什么是递归? 递归是一种解决问题的方法,它将大问题分解成一个或多个子问题来解决。递归与数学归纳法类似,因为它是通过将问题不断拆分为更小规模的相似问题来解决的。Python支持递归函数,也就是函数可以调用自身。 递归的应用 递归可以应用于许多算法,例如: 分治算法 树的遍历 排序算法(如快速排序…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部