如何通过PHP逻辑调用dede:field.price来控制显示原价和优惠价?
- 行业动态
- 2024-10-08
- 1
在织梦CMS(DedeCMS)中,内容页的文档页面可以通过PHP逻辑来调用字段并控制显示原价和优惠价,本文将详细介绍如何实现这一功能,包括代码示例、逻辑分析和常见问题解答。
字段准备
我们需要在织梦后台添加两个自定义字段,分别用于存储商品的原价和优惠价,假设这两个字段的名称分别为price
和discount_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#>
标签用于在条件判断中跳出循环。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/118352.html