如何在DedeCMS中设置会员登录前后显示不同的价格?

avatar
作者
猴君
阅读量:0
在DedeCMS中,可以通过判断用户是否登录来显示不同的价格。具体实现方法如下:,,1. 在模板文件中,使用{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

如何在DedeCMS中设置会员登录前后显示不同的价格?

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版本,但如果遇到特定版本的问题,可能需要针对版本进行相应的调整。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!