当前位置:首页 > 行业动态 > 正文

如何通过PHP逻辑调用dede:field.price来控制显示原价和优惠价?

在织梦内容页文档页中,使用PHP逻辑调用dede:field.price来控制显示原价和优惠价。

在织梦CMS(DedeCMS)中,内容页的文档页面可以通过PHP逻辑来调用字段并控制显示原价和优惠价,本文将详细介绍如何实现这一功能,包括代码示例、逻辑分析和常见问题解答。

字段准备

我们需要在织梦后台添加两个自定义字段,分别用于存储商品的原价和优惠价,假设这两个字段的名称分别为pricediscount_price

模板文件修改

我们需要修改内容页的模板文件,以便在页面上显示原价和优惠价,假设内容页的模板文件为article_article.htm

1、打开模板文件:使用文本编辑器打开/templets/default/article_article.htm文件。

2、查找标签:在文件中查找{dede:field name='body'/}标签,这是用来输出文章内容的标签。

3、添加PHP代码:在该标签下方添加以下PHP代码:

<?php
// 获取原价和优惠价字段的值
$price = $dede_fields['price'];
$discount_price = $dede_fields['discount_price'];
?>

4、显示价格:在适当的位置添加以下HTML代码,用于显示原价和优惠价:

<p>原价:<span style="textdecoration: linethrough;">¥<?php echo $price; ?></span></p>
<p>优惠价:<span style="color: red;">¥<?php echo $discount_price; ?></span></p>

5、保存文件:保存并关闭模板文件。

效果展示

完成上述步骤后,当用户访问内容页时,页面上将显示商品的原价和优惠价,原价会以删除线的形式显示,优惠价会以红色字体显示。

相关问答FAQs

问题1:如何修改显示样式?

答:要修改显示样式,可以调整HTML代码中的CSS样式,可以将删除线的样式改为灰色:

<p>原价:<span style="textdecoration: linethrough; color: gray;">¥<?php echo $price; ?></span></p>
<p>优惠价:<span style="color: red;">¥<?php echo $discount_price; ?></span></p>

问题2:如何实现更多复杂的价格显示逻辑?

答:如果需要实现更多复杂的价格显示逻辑,可以在PHP代码中添加更多的判断和计算,可以根据优惠价是否为空来决定是否显示原价和优惠价:

<?php
// 获取原价和优惠价字段的值
$price = $dede_fields['price'];
$discount_price = $dede_fields['discount_price'];
?>
<?php if (!empty($discount_price)): ?>
<p>原价:<span style="textdecoration: linethrough;">¥<?php echo $price; ?></span></p>
<p>优惠价:<span style="color: red;">¥<?php echo $discount_price; ?></span></p>
<?php else: ?>
<p>原价:¥<?php echo $price; ?></p>
<?php endif; ?>

通过这种方式,可以实现更灵活的价格显示逻辑。

功能 描述 代码示例
控制显示原价 根据逻辑判断是否显示商品原价
控制显示优惠价 根据逻辑判断是否显示商品优惠价
原价和优惠价共存 同时显示原价和优惠价,使用“原价:XXX,现价:YYY”格式
原价:${field.price}元,现价:${field.discount_price}元`
不显示价格 如果没有原价或优惠价,则不显示价格

现价:${field.discount_price}元
暂无价格信息`

说明

1、field.price 代表商品的原价。

2、field.discount_price 代表商品的优惠价(如果有的话)。

3、<#if> 是织梦内容的条件判断标签,用于根据条件显示或隐藏内容。

4、<#else#> 标签用于在条件不满足时显示内容。

5、<#break#> 标签用于在条件判断中跳出循环。

0