{dede:field name='diyname/username'/}
标签获取当前用户的用户名。,2. 使用{dede:field name='position' runphp='yes'}@me=="" ? "游客" : "会员"{/dede:field}
判断用户是否登录。,3. 根据用户状态,显示不同的价格。,,``html,{dede:field name='position' runphp='yes'}, if(@me=="") {, // 游客价格, $price = '100';, } else {, // 会员价格, $price = '80';, }, echo $price;,{/dede:field},
``,,这样,在会员登录前和登录后,页面上会显示不同的价格。在Dedecms系统中实现会员登录前和登录后显示不同价格,可以通过以下几种方法来实现:
方法一:使用钩子函数
1、打开extend.func.php文件:如果不存在该文件,需要手动创建,路径为/dede/include/extend.func.php
。
2、添加钩子函数代码:
```php
function member_login_status() {
global $cfg_ml;
if ($cfg_ml>IsLogin()) {
return "您好,{$cfg_ml>M_UserName},欢迎您回来!<a href='{$cfg_cmspath}/member/index.php'>[会员中心]</a> <a href='{$cfg_cmspath}/member/logout.php'>[退出]</a>";
} else {
return "<a href='{$cfg_cmspath}/member/login.php'>[登录]</a> <a href='{$cfg_cmspath}/memberregnew.php'>[注册]</a>";
}
}
```
3、保存文件并关闭。
4、修改模板文件:找到需要显示会员状态的模板文件(如首页模板index.htm
),并在合适位置插入以下代码:
```html
<!|member_login_status| >
```
5、更新页面缓存:在后台进入“模板管理” > “修改当前模板”,点击“更新模板”按钮。
方法二:使用模板调用
1、打开模板文件:找到需要显示会员状态的模板文件(如首页模板index.htm
)。
2、插入会员状态代码:
```html
<table>
<tr>
<td>{dede:field name='loginsta'/}</td>
</tr>
</table>
```
3、保存文件并关闭。
4、更新页面缓存:在后台进入“模板管理” > “修改当前模板”,点击“更新模板”按钮。
方法三:通过SQL标签调用
1、打开模板文件:找到需要显示会员状态的模板文件(如首页模板index.htm
)。
2、插入SQL标签代码:
```html
{dede:sql name=automid type=custom}SELECT * FROM dede_member WHERE mid = '$mid'{/dede:sql}
```
3、保存文件并关闭。
4、更新页面缓存:在后台进入“模板管理” > “修改当前模板”,点击“更新模板”按钮。
方法四:通过JS脚本调用
1、打开模板文件:找到需要显示会员状态的模板文件(如首页模板index.htm
)。
2、插入JS脚本代码:
```html
<script language="javascript">
var taget_obj = document.getElementById('_userlogin');
myajax.SendGet2("{dede:global.cfg_cmspath/}/member/ajax_loginsta.php");
</script>
```
3、保存文件并关闭。
4、更新页面缓存:在后台进入“模板管理” > “修改当前模板”,点击“更新模板”按钮。
方法五:通过CSS样式控制
1、打开模板文件:找到需要显示会员状态的模板文件(如首页模板index.htm
)。
2、插入CSS样式代码:
```html
<style>
#_a { display: none; } /* 默认隐藏会员信息 */
</style>
```
3、保存文件并关闭。
4、更新页面缓存:在后台进入“模板管理” > “修改当前模板”,点击“更新模板”按钮。
方法可以根据具体需求选择使用,实现会员登录前后显示不同价格的功能。
Dedecms会员登录前和登录后显示不同价格的方法
1. 前提条件
Dedecms版本:确保你的Dedecms版本支持会员价格设置。
会员系统:确保你的Dedecms安装了会员系统,并且会员等级功能已启用。
2. 步骤详解
2.1 准备工作
确保会员价格设置正确:在商品管理后台,为每个商品设置会员价格。
2.2 修改模板文件
1、定位模板文件:
找到商品详情页的模板文件,通常位于templets/[模板名称]/
目录下。
2、修改模板代码:
打开商品详情页模板文件,查找显示商品价格的代码。
如果使用的是默认模板,查找类似<#foreach item=info in..>
的循环标签。
3、判断会员登录状态:
在显示价格的代码中,添加判断会员登录状态的逻辑。
使用DedeCMS提供的会员登录判断函数IsLogin()
。
```html
<#if IsLogin() == 1>
<!会员登录后显示的价格 >
<p>会员价格:¥${info.mprice}</p>
<#else>
<!会员未登录时显示的价格 >
<p>普通价格:¥${info.price}</p>
</#if>
```
2.3 测试和验证
保存模板文件并更新缓存。
在Dedecms后台登录为普通用户,查看商品详情页,确认普通价格显示正确。
登录为会员用户,查看商品详情页,确认会员价格显示正确。
3. 注意事项
确保会员价格设置正确无误,避免出现价格错误。
定期检查模板代码,确保其与Dedecms版本兼容。
如果遇到问题,可以先恢复模板到原始状态,再进行调试。
4. 归纳全文
通过以上步骤,你可以在Dedecms中实现会员登录前和登录后显示不同价格的功能,这种方法适用于大多数Dedecms版本,但如果遇到特定版本的问题,可能需要针对版本进行相应的调整。