求教首页登录挂件制作

2016-07-07 16:48 来源:www.chinab4c.com 作者:ecshop专家

第一个教程挂件制作成功。

开始真正做挂件。

想要做一个首页登录挂件,想要在首页做一个登陆框。

header.htm里面的代码
  1. {$visitor.user_name|escape},{$lang.hello}
  2. <!--{if !$visitor.user_id}-->
  3. [<a href="index.php?app=member&amp;act=login&amp;ret_url={$ret_url}">{$lang.login}</a>]
  4. [<a href="index.php?app=member&amp;act=register&amp;ret_url={$ret_url}">{$lang.register}</a>]
  5. <!--{else}-->
  6. [<a href="index.php?app=member&amp;act=logout">{$lang.logout}</a>]
  7. <!--{/if}--> 
复制代码
我的挂件
  1. <?php
  2. return array(
  3. 'name'=> 'hello_login',
  4. 'display_name'=> '首页登陆挂件',
  5. 'author' => 'Fm',
  6. 'website'=> 'http://www.xxx.net',
  7. 'version'=> '1.0',
  8. 'desc'=> '首页显示登陆挂件',
  9. );
  10. ?>
复制代码
widget.htm
  1. <div class="custom_html">
  2. {$visitor.user_name|escape},{$lang.hello}
  3. <!--{if !$visitor.user_id}-->
  4. [<a href="index.php?app=member&amp;act=login&amp;ret_url={$ret_url}">{$lang.login}</a>]
  5. [<a href="index.php?app=member&amp;act=register&amp;ret_url={$ret_url}">{$lang.register}</a>]
  6. <!--{else}-->
  7. [<a href="index.php?app=member&amp;act=logout">{$lang.logout}</a>]
  8. <!--{/if}-->
  9. </div>
复制代码
挂件无法使用。 
挂件到底怎么读取系统内的参数和数据库呢

回答:
你详细了解一下ecmall的数据库调用方式再开发挂件,看看ecmall的登录验证模块怎么做的。
另外ecmall已经结合uc,因此要实现统一登录和退出,不是简单调取数据库就可以的。

登录退出的代码无需您再重复实现,您只需要在挂件中显示登录的表单,提交到ECMall的登录处理控制器就可以了,换言之,制作此挂件,您只需创建登录表单,判断登录状态并显示相应内容即可。创建登录表单可参考登录页面。

如果需要将登陆界面独立出来,建议用ajax调用

class Member_loginWidget extends BaseWidget
{
var $_name = 'login';
var $_ttl= 0;

function _get_data()
{
session_start();
$str_user_id = $_SESSION["user_info"]["user_id"];
$str_user_name = $_SESSION["user_info"]["user_name"];
if(!empty($str_user_id)){
return array(
'show' => true,
'user_id' => $str_user_id,
'user_name' => $str_user_name,
);
}else{
return array('show' => false);
}
}
}

楼上的是取出登陆信息的吗?