dede会员中心页如何调用会员发布内容?

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 DEDE建站 正文
  1. 会员中心页面模板:你需要修改这个页面的模板文件。
  2. 数据调用标签:使用DedeCMS的 {dede:arclist} 标签来获取数据,并通过特定属性来筛选出当前会员发布的内容。

下面我将为你提供详细的步骤和代码示例。

dede会员中心页 调用会员发布
(图片来源网络,侵删)

核心思路

DedeCMS的会员发布内容后,数据会存储在主表(如 dede_archives)中,主表里有一个非常重要的字段 mid,它记录了发布该内容的会员ID,我们的核心任务就是:

  1. 获取当前登录会员的 mid
  2. {dede:arclist} 标签中使用 mid 属性进行筛选,只显示该 mid 对应的内容。

详细步骤

第1步:定位会员中心模板文件

会员中心的模板文件通常位于你的DedeCMS安装目录下的:

/templets/你的默认模板文件夹/member/

你需要修改的文件通常是:

dede会员中心页 调用会员发布
(图片来源网络,侵删)
  • index_do.htm:这是会员中心首页的模板文件,当你登录后,看到的第一个页面就是这个。(最推荐修改这个文件)
  • index.htm:有时也可能是这个,但 index_do.htm 更常见。

第2步:在模板中添加调用代码

打开你选择的模板文件(index_do.htm),你可以在页面的某个合适位置(我的文章”、“我的作品”等板块)添加以下代码。

第3步:编写 {dede:arclist} 调用代码

这是最关键的一步。{dede:arclist} 标签功能强大,通过组合不同的属性可以实现精确的数据调用。

完整代码示例

以下是一个完整的、可以直接使用的代码块,你可以将它复制到你的模板文件中。

<h3 style="border-bottom:1px solid #ccc; padding-bottom:5px; margin-bottom:15px;">我发布的文章</h3>
{dede:arclist 
    row='10' len='30' 
    orderby='pubdate' 
    idlist='' 
    channelid='' 
    mid='' 
    flag='h' 
    typeid='' 
    keyword='' 
    limit='0,10'
}
    <li>
        <span class="title">
            <a href="[field:arcurl/]">[field:title/]</a>
        </span>
        <span class="info">
            发布时间:[field:pubdate function="MyDate('Y-m-d H:i',@me)"/] 
            浏览:[field:click/] 
            评论:[field:postnum/]
        </span>
    </li>
{/dede:arclist}
{dede:arclist 
    row='5' len='30' 
    orderby='pubdate' 
    channelid='-1' 
    mid='' 
    flag='' 
    typeid='' 
    keyword='' 
    limit='0,5'
}
    <li>
        <span class="title">
            <a href="[field:arcurl/]">[field:title/]</a>
        </span>
        <span class="info">
            发布时间:[field:pubdate function="MyDate('Y-m-d H:i',@me)"/]
        </span>
    </li>
{/dede:arclist}

代码详解

让我们来分解 {dede:arclist} 标签中的关键属性:

dede会员中心页 调用会员发布
(图片来源网络,侵删)
属性名 说明
row 10 调用文章的数量,这里设置为调用10条。
orderby pubdate 排序方式,按发布时间倒序排列,最新发布的在最前面,常用值:pubdate(发布时间)、click(点击量)。
mid (空) 【核心属性】 这是实现“调用会员发布”的关键,当 mid 属性为空时,{dede:arclist}自动获取当前登录会员的ID,并只显示该会员发布的内容。千万不要给它写死一个数字!
channelid -1 模型ID。 或不写表示默认只调用“文章”模型。-1 表示调用所有模型(包括文章、图集、软件等),如果你想只调用会员发布的“图集”,就需要填入图集模型的ID。
typeid 栏目ID,留空表示调用所有栏目,如果你想限制只显示某个特定栏目下的内容,就填入对应的栏目ID。
flag 特殊属性h 表示只调用头条文章,c 表示推荐文章,p 表示图片集,多个属性用逗号隔开,如 h,c
limit 0,10 数据范围,格式为 起始行数,调用条数0,10 表示从第0条开始,共调用10条,效果等同于 row='10'

字段说明

</li>{/dede:arclist} 之间,是每条数据的显示样式,常用字段有:

  • [field:title/]
  • [field:arcurl/]:文章链接。
  • [field:pubdate function="MyDate('Y-m-d H:i',@me)"/]:发布时间。function="MyDate(...)" 是一个格式化函数,'Y-m-d H:i' 是你想要的日期格式。
  • [field:click/]:文章点击量。
  • [field:postnum/]:文章评论数。
  • [field:typeid/]:文章所在的栏目ID。
  • [field:typelink/]:文章所在栏目的链接。

高级应用与注意事项

调用会员发布的“所有类型”内容(文章、图集、软件等)

如果你想在会员中心首页统一展示会员发布的所有内容,而不只是文章,你需要使用 channelid='-1'

<h3>我发布的所有作品</h3>
<ul>
    {dede:arclist row='15' channelid='-1' mid='' orderby='pubdate'}
        <li>
            <a href="[field:arcurl/]">[field:title/]</a>
            <span class="f6">([field:typename/])</span>
        </li>
    {/dede:arclist}
</ul>

这里 [field:typename/] 会显示内容所属的模型名称(如“文章”、“图集”),方便用户区分。

会员中心页的“分页”问题

{dede:arclist} 本身不带分页功能,如果会员发布的内容很多,你想实现分页,需要使用更复杂的 {dede:list} 标签,并且需要创建一个专门的列表页面。

  • 步骤
    1. 在后台新建一个“自由页面”。
    2. 中,使用 {dede:list} 标签,并同样使用 mid='' 来筛选当前会员的内容。
    3. 在会员中心首页添加一个链接,指向这个新建的自由页面。

{dede:list} 的用法与 {dede:arclist} 类似,但它是用于列表页的,自带分页功能。

<!-- 在一个列表页模板中 -->
{dede:list pagesize='10' mid=''}
    <a href="[field:arcurl/]">[field:title/]</a>
    <hr>
    {/dede:list}

权限检查

确保你的网站设置了会员投稿权限,并且相关的栏目也开启了“会员投稿”功能,否则,mid 字段可能不会被正确写入,导致调用失败。

  • 检查路径:后台 -> 核心 -> 频道管理 -> 选择某个栏目 -> 修改 -> “会员投稿”选项设置为“是”。

要在DedeCMS会员中心页调用会员发布的内容,最简单、最直接的方法就是:

  1. 打开 /templets/你的模板文件夹/member/index_do.htm 文件。
  2. 在合适位置添加 {dede:arclist}
  3. 确保标签中包含 mid='' 这个属性,并且留空。
  4. 根据你的需求设置其他属性,如 row(数量)、channelid(模型)、orderby(排序)等。
  5. 使用 [field:xxx/] 字段来定义每条内容的显示样式。

通过以上步骤,你就可以轻松实现会员中心内容调用了。

-- 展开阅读全文 --
头像
GBK与UTF-8在织梦CMS中如何选择?
« 上一篇 2025-12-21
Linux C语言编程如何高效入门与实战?
下一篇 » 2025-12-21

相关文章

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