喔唷网 - 网络从业者技术信息综合门户!

当前位置: 主页 > 教程技术 > 网站建设 > dedecms

织梦(Dedecms)系统在列表页调用flag显示[推荐][头条

时间 : 2025-04-21 13:47来源 : 喔唷网作者 : 喔唷教程点击 :
在dedecms中,flag属性有头条、推荐、图片、幻灯、 滚动等的属性值,那么想在文章或者其他页面调用这个flag的值需要如何做呢?那就需要用到它的flag标签属性来进行调用。 方法1:直接输出 flag 值 在

在dedecms中,flag属性有头条、推荐、图片、幻灯、滚动等的属性值,那么想在文章或者其他页面调用这个flag的值需要如何做呢?那就需要用到它的flag标签属性来进行调用。

方法1:直接输出 flag 值

在列表模板(如 list_article.htm)中,可以直接使用 [field:flag/] 输出当前文章的 flag 属性值。

{dede:list pagesize='20'}

        文章标题:[field:title/] <br>
        Flag属性值:[field:flag/] <br>

{/dede:list}

通过[field:flag/]的标签我们直接输入了flag的值。输出后我们得到内容是


文章标题:这里是文章的标题
Flag属性值:h

这我们对照标签可以看到,输出的内容包含了一个标题和flag的值,但是它的值是一个 h 字母。那是因为我们在系统中设置了 h 代表的就是推荐这个flag的值。如果我们想在网页中直接显示文字类型的flag值,那么我们就需要运用到动态判断。

{dede:list pagesize='20'}
    <div>
        文章标题:[field:title/] <br>
        Flag属性:
        [field:flag runphp='yes']
            $flag = @me;
            if (strpos($flag, 'h') !== false) {
                @me = "推荐文章 (Flag: $flag)";
            } elseif (strpos($flag, 'c') !== false) {
                @me = "头条文章 (Flag: $flag)";
            } else {
                @me = "普通文章 (Flag: $flag)";
            }
        [/field:flag]
    </div>
{/dede:list}

通过这样我们就直接将输出的flag代码直接更换成了文字显示。当然也可以使用图片等一系列显示方式。

方法二、通过PHP直接获取flag属性

结合 $arc->Fields 获取 flag如果想在 {dede:list} 循环外获取当前文章的 flag,可以使用 $arc->Fields:

{dede:list pagesize='20'}
    <div>
        文章标题:[field:title/] <br>
        <?php
        $currentFlag = $arc->Fields['flag'];
        echo "Flag属性值:$currentFlag <br>";
        if (strpos($currentFlag, 'h') !== false) {
            echo "<span style='color:red;'>[推荐]</span>";
        }
        ?>
    </div>
{/dede:list}

方法三:自定义函数(推荐)

如果你需要多次判断 flag,可以在 include/extend.func.php 里定义一个函数:

// 在 include/extend.func.php 添加:
function GetFlagType($flag) {
    if (strpos($flag, 'h') !== false) return '推荐';
    if (strpos($flag, 'c') !== false) return '头条';
    if (strpos($flag, 'p') !== false) return '图片';
    return '普通';
}

自定义函数以后在htm的模板中进行调用。

{dede:list pagesize='20'}
    <div>
        文章标题:[field:title/] <br>
        文章类型:<?php echo GetFlagType($arc->Fields['flag']); ?>
    </div>
{/dede:list}

这样也可以输出dedecms内置的flag的文章标签了。

下面我们推荐一个常规的dedecms的flag标签的调用方法。

<style>
.flag-c { color: #f00; font-weight: bold; }
.flag-h { color: #09f; }
.flag-p { color: #690; font-style: italic; }
.flag-normal { color: #999; }
</style>

[field:flag runphp='yes']
    $flag = trim(@me);
    $tags = [];

    if (strpos($flag, 'c') !== false) $tags[] = "<span class='flag-c'>头条</span>";
    if (strpos($flag, 'h') !== false) $tags[] = "<span class='flag-h'>推荐</span>";
    if (strpos($flag, 'p') !== false) $tags[] = "<span class='flag-p'>图文</span>";

    @me = $tags ? implode(' ', $tags) : "<span class='flag-normal'>普通</span>";
[/field:flag]

推荐案例中运用了flag判断模式,内容中有那种flag就会输出到网站页面中,并且通过css设置了显示的样式。

栏目列表

关联类容

热点推荐

栏目推荐

猜你喜欢