首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

dedecms自定义函数获取文章地址

DedeCMS(织梦内容管理系统)是一款流行的PHP开源网站管理系统,它允许开发者通过自定义函数来扩展其功能。获取文章地址是DedeCMS开发中常见的需求之一。下面我将详细介绍如何通过自定义函数获取文章地址,并提供相关的代码示例。

基础概念

在DedeCMS中,文章地址通常由系统自动生成,格式为http://域名/目录/年/月/日/文章ID.html。通过自定义函数,可以灵活地获取和修改这些地址。

相关优势

  1. 灵活性:自定义函数可以根据具体需求灵活地获取和修改文章地址。
  2. 扩展性:通过自定义函数,可以轻松扩展DedeCMS的功能,满足特定的业务需求。
  3. 维护性:将获取文章地址的逻辑封装在自定义函数中,便于代码的维护和更新。

类型

DedeCMS的自定义函数主要有以下几种类型:

  1. 系统函数:DedeCMS自带的函数,如GetOneArchiveGetArchive等。
  2. 自定义函数:开发者根据需求自行编写的函数。

应用场景

自定义函数获取文章地址的应用场景包括但不限于:

  1. 生成特定格式的文章链接:如生成短链接、带参数的链接等。
  2. 在模板中动态显示文章链接:如在文章列表、文章详情页中显示链接。
  3. 在后台管理中显示链接:如在文章编辑页面中显示预览链接。

示例代码

以下是一个简单的示例,展示如何在DedeCMS中通过自定义函数获取文章地址:

代码语言:txt
复制
<?php
if (!function_exists('get_article_url')) {
    function get_article_url($aid) {
        global $cfg_basehost;
        $row = $GLOBALS['dsql']->GetOne("SELECT arc.id,arc.typeid,arc.ismake,arc.channel,title,senddate,flag, litpic, userip, lastpost, scores, goodpost, badpost, textlink
            FROM `#@__archives` arc
            LEFT JOIN `#@__arctype` act ON arc.typeid = act.id
            WHERE arc.id='$aid'");
        if ($row) {
            $url = $cfg_basehost . '/' . date('Y/m/d', $row['senddate']) . '/' . $row['id'] . '.html';
            return $url;
        } else {
            return '';
        }
    }
}
?>

参考链接

解决常见问题

如果在获取文章地址时遇到问题,可以检查以下几点:

  1. 数据库连接:确保数据库连接正常,能够正确查询到文章信息。
  2. 函数定义:确保自定义函数已经正确定义,并且在调用前已经存在。
  3. 参数传递:确保传递给函数的参数正确,特别是文章ID($aid)。
  4. 权限设置:确保当前用户有权限访问和读取文章信息。

通过以上步骤,可以有效地解决在DedeCMS中获取文章地址时遇到的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

dedecms获取当前文章所在栏目URL

我们知道dedecms有一个面包屑导航的调用函数,{dede:field name='position'/},这个样式是固定的,有时要个性化一些的话需要修改很多地方,那么织梦cms有没其他方法获取当前文章所在栏目...='0' row=1}[field:typelink /]{/dede:type}' style="color:blue;">{dede:field.typename/}   这样的话就可以自定义首页链接的锚文本了...,默认都是“首页”,我们都知道锚文本对内部链接/外部链接很重要,虽然可以通过修改内部class文件(/include/typelink.class.php的113行左右)来修改,具体详见修改dedecms...面包屑导航的首页链接关键字(帝国cms面包屑导航的首页链接锚文本改成关键字),但为了程序的稳定性最好不好去动,所以上面的方法就比较方便了   关于dedecms栏目调用方面ytkah还有两篇文章页很精彩噢...,dedecms调用当前栏目的子栏目怎么操作,dedecms如何调用当前栏目的子栏目及子栏目文章,

10.7K80
  • 织梦DedeCms获取当前页面URL地址的调用方法

    相信很多对织梦感兴趣的朋友都会去考虑这个问题:在文章内容中加入本文链接,除了 保护自己版权外还可以增加网站的外链收录。...网上这方面的帖子一搜一大堆,但多数都只能调用相对地址,你还必须在它前面加上一个网站域名,这样做的方法虽然 也行,但这个模板用来建其他站时就会闹笑话,所以也是不可行的。...正确的织梦DedeCms获取当前页面URL地址的调用方法:在调用相对地址标签的前面加上一个网站根地址标签{dede:global.cfg_basehost/}。...注意和系统访问地址标签{dede:global.cfg_cmsurl/}的区别,{dede:global.cfg_cmsurl/}等于 {dede:globle_cfg.basehost/}(站点根网址

    9.6K31

    通过springboot拦截器实现博客文章的自定义URL地址

    实现思路 1 既然是自定义的 url 地址,那么肯定要保存到数据库。 2 拦截所有的请求,然后判断请求的地址是不是一个博文的自定义 url 地址。...4 博文统一展示页就通过博文的 id 就可以展示文章内容了。 拦截器学习 既然是通过拦截器实现,那么就需要知道该在何时拦截,如何在拦截器当中实现重定向跳转等等。...HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //获取所有文章的...URL List allUrl = mlogArticlesService.getAllUrl(); //获取请求的路径 String servletPath...registry.addInterceptor(getMlogPathInterceptor()).addPathPatterns("/**"); } } 文章统一展示页处理

    1.7K30

    WordPress函数the_tags获取文章标签使用方法解析

    我们知道wordpress有一个the_tags函数可以获取到文章设置的所有标签,并按照你想要的形式输出。在文章页面输出标签有助于内链布局,提升SEO效果。...在模板中显示标签名并链接到该标签中,如果当前页中无标签就不显示,这个函数必须使用在WordPress主循环中。就是能获取到全局变量post的地方,一般用于文章页与文章列表页。   ...the_tags函数位于wp-includes/category-template.php文件中: /** * Retrieve the tags for a post....is_wp_error( $the_tags ) ) { echo $the_tags; } }   可以看到the_tags函数是通过调用get_the_tag_list取得数据。   ...函数使用方法 //$before //在显示之前输出的内容,一般是标签链接所处容器HTML标签。

    1.5K10

    WordPress 函数:get_post() 获取指定 ID 文章相关信息

    wordpress主题制作中可能需要单独调用指定文章的标题、链接或内容等,可以通过get_post()函数指定文章ID来获取文章标题、文章内容、文章链接、时间等文章相关信息。...所以定义文章的分类可使用get_the_category()函数]) post_excerpt(文章摘要) post_status(文章状态包括已发布,准备发布,草稿,私人文章等等) comment_status...(文章最后修改格林尼治标准时间[缩写:GMT,格式:年-月-日 时-分-秒]) post_type(文章类型包括页面,文章,附件) comment_count(评论总数) 示例:获取指定ID文章内容 格式一...php // 获取文章ID编号为10的标题名称,返回对象数据格式 $post_id = 100; // 文章ID echo get_post( $post_id )->post_content...> 实 际应用场景 WordPress 发布文章,或定时发布文章,需要实时推送文章给百度收录 米扑博客在主题下面的 functions.php 自定义的函数,实际应用如下: // 百度百熊号(原创文章保护

    72130

    ZBLOG GetArticleList详解及获取自定义字段文章列表方法

    比如我们在需要调用自定义字段,以及文章列表的时候,我们可以使用ZBLOG GetArticleList来解决这个问题。今天老蒋就做一个记录,看看GetArticleList这个函数是如何使用的。...第一、GetArticleList函数使用方法 $array=$zbp->GetArticleList($select,$where,$order,$limit,$option,$readtags);...第二、自定义调用范例 一般我们有些时候需要自定义字段,然后需要在使用的时候调用文章列表。...{my_toplist('10')} 其中我们看到的selftoplist是我们自定义的字段。含义就是获取自定义字段selftoplist值为1的文章列表。我们可以根据实际修改。...本文出处:老蒋部落 » ZBLOG GetArticleList详解及获取自定义字段文章列表方法 | 欢迎分享

    81720

    【说站】WordPress函数 get_permalink() 获取文章或页面链接

    get_permalink()用来根据固定连接返回文章或页面的链接。 在获取链接时 get_permalink()需要获取的文章的ID,如果在循环中则自动默认使用当前文章。...用法: get_permalink( $id, $leavename ); id:(可选)文章或者页面的 ID,或文章对象,默认值:在循环中自动调用当前的文章leavename: (布尔)(可选)文章链接是否以文章名称形式显示...,如果设置成 True,那么将返回 http://www.baidu.com/%postname% 而不是 http://www.baidu.com/my-post 具体用法: 根据 ID 获取文章或页面的链接...>">获取指定 ID 的文章或页面链接 在循环中获取当前文章的链接,适用于获取当前页面的链接: 在循环中获取当前页面的id的文章链接: 比如品自行博客用的知更鸟主题,文章的下载页面如果要获取文章页面的链接,可以用下面的代码: <?php echo get_permalink($id); ?

    65210

    SAS自定义函数获取某逻辑库下所有表名

    今天看到一个群友提的一个问题:SAS有无一个函数将某LIBNAME下表名都取出?这个问题用字典数据表或者视图(DICTIONARY Tables and SASHELP Views)可以轻松解决。...如获取逻辑库SASHELP下所有表名,代码如下: proc sql noprint; select MEMNAME into :tnames separated by ', '...separated by ', ' from sashelp.vtable where libname='SASHELP' ; quit; 但是群友的问题是有没有现成的函数...,即类似下面这样的用法: data _null_; TNAMES=get_tnames('SASHELP'); run; 而我们知道当前在SAS中并没有这种功能的函数。...好在SAS 9.2版本中的PROC FCMP允许用户编写个性化的函数并可在DATA步使用(SAS 9.1.3中用户自定义函数只能在某些过程步中使用)。

    2.9K30
    领券