虽然我们提供了很多的参数,但不得不承认我们不可能满足所有用户的界面需求。为了解决这个问题。我们提供二次开发接口。你可以依据我们提供的接口文件。完全自定义你的模块外观。真正实现无缝嵌入你的网站!
第三方登陆系统是一个完善的Joomla第三方登陆平台解决方案,它允许用户按照自己的需求来安装相应的插件。比喻说,如果用户需要微信登陆,那么它只需在第三方登陆系统的扩展管理中安装微信登陆插件就行了。而不用安装其他的不需要的第三方登陆。
本节我们将详细的讲解如何使用ZMAX提供的第三方开发接口来自定义自己的界面。
温馨提示: 请使用模板输出覆盖来实现你自己的模块或者界面。否则升级的时候可能会被冲掉!!!
ZMAX第三方登陆给用户其实只有一个界面,就是登陆模块了———用户如何进入第三方登陆。首先看一下ZMAX系统自带的登陆模块的源文件:
<?php /** * description:ZMAX第三方登陆布局文件文件 * author:min.zhang * Email:zhang19min88@163.com * Url:http://www.zmax99.com * copyright:南宁市程序人软件科技有限责任公司保留所有权利 * date:2015-01-15 */ /** * ###### 重要说明 ###### * # 为了便于升级以及便于第三方开发,ZMAX专门为第三方登陆模块提供通用库,关于库的使用说明,请参考http://www.zmax99.com相关文章 * # 如果你要重写本模块,建议不要直接修改代码,而是使用输出覆盖 * # * # ZMAX程序人 2015-01-15 */ defined('_JEXEC') or die; //导入公共库 include_once("administrator/components/com_zmaxlogin/libs/zmaxlib/common_function.php"); //获得参数 $width = $params->get('window_width',450); $height = $params->get('window_height',320); $window_position_x = $params->get('window_position_x',700); $window_position_y = $params->get('window_position_y',320); $window_style = $params->get('window_style','new_window'); $label = $params->get('otherloginlabel'); //获得一个ZMAX登陆前端对象 $zmaxlogin= new zmaxloginFront($width ,$height,$window_position_x ,$window_position_y ,$window_style); $loginTypes =$zmaxlogin->getLoginTypes(); $config=null; foreach($loginTypes as $type) { $config[$type]=$params->get($type."login",true); } $zmaxlogin->setConfig($config); $doc = JFactory::getDocument(); $doc->addStyleSheet("modules/mod_zmaxlogin/css/zmaxlogin.css"); ?> <div id="zmax_login"> <?php if ($params->get('joomlalogin')):?> <div id="joomla_login"> <?php echo $zmaxlogin->outPutJoomlaLogin();?> </div> <?php endif;?> <?php if(!empty($loginTypes)):?> <div id="other_oauth"> <div> <?php if($label !=""):?> <label ><?php echo JText::_($label);?></label> <?php endif;?> <div class="icon"> <?php echo $zmaxlogin->outPutAllZmaxLogin();?> </div> </div> </div> <?php endif;?> </div>
代码解释:
导入公共库 ,必须在你的文件中加上这行代码,它的作用是导入ZMAX提供的公共库
include_once("administrator/components/com_zmaxlogin/libs/zmaxlib/common_function.php");
获得一个ZMAX登陆前端对象,可以指定参数也可以不指定参数。如果你不懂php,直接复制这个两行到你的文件即可。
$zmaxlogin= new zmaxloginFront();
下面看一下指定参数的情况:
$zmaxlogin= new zmaxloginFront($width ,$height,$window_position_x ,$window_position_y ,$window_style);
你可以设置系统默认的风格。比喻说弹出的宽度 高度等等
输出Joomla默认的登陆模块,直接将这句话复制到你想输出joomla默认登陆模块的地方。
<?php echo $zmaxlogin->outPutJoomlaLogin();?>
输出ZMAX开发的第三方登陆,直接复制代码就行了。
<?php echo $zmaxlogin->outPutAllZmaxLogin();?>
其中重点介绍一下outPutAllZmaxLogin方法,这个方法能够自动输出所有启用的第三方登陆。当你新安装一个第三方登陆插件的时候,你不需要修改代码,系统就会自动在前台显示出新安装的第三方登陆。我们推荐你使用这个方法来输出。
对于前端页面设计师
对于前端页面设计师来说,他们主需要关心如何获得点击后的链接 和跳转时的js代码。针对这种情况,你可以使用
echo $zmaxlogin ->getLoginLink($type);就行了。
比喻说我想产生下面的链接
<a href="/component/zmaxlogin/?task=redirect2&type=qq"> 那么你只需要写成<a href="/<?php echo $zmaxlogin->getLoginLink($type);?>"> 就行了。而不用自己动手写index.php?.....这些源代码了。
如果你想要获得微博的链接。使用$zmaxlogin->getLink("weibo");就行了。其他的一次类推。
假设你现在想使用弹出框的方式来实现。
你想写成<a onclick="toqqLogin();return false">.那么你只需要写成<a onclick="<?php echo $zmaxlogin->getLoginJSFunction('qq');?>">就行了。其他的事件系统都帮你做好了。
输出的问题
讨论一下输出的问题
如果你只想输出QQ登陆在前台。你只需要使用<?echo $zmaxlogin->getOutPut("qq" );?>就行了。输入其他的方式都一样。系统将自动判断当前的设置是弹出框还是链接。并且链接,js函数都已经准备好了,你无需操心。
public function getOutPut($type,$enable=true,$htmlTag="div" )
getOutPut
- 第一个参数是你要输出的第三方登陆的类型。如果你想输出 QQ登陆,那么第一个参数就填写qq.
- 第二个参数是是否启用。这个必须填true.否则不会显示
- 第三个参数是使用什么标签。默认使用div标签
你可能会有一个疑问,如果我要输出微信登陆,那么第一个参数该填什么呢?这个问题很好解决。你可以登陆ZMAX第三方登陆看看后台的插件管理就知道了。你也可以使用下面的代码来查看
print_r($zmaxlogin->getLoginTypes());
其他说明
其实还有一个问题系统暂时并没有提出一个很好的解决方法,那就是如果我想更改qq登陆的图标该怎么做呢。一个解决的方法是替代系统的图片。你可以前往 /administrator/components/com_zmaxlogin/images/qq_image/中找到你要修改的图片修改即可。
如果你还有其他的问题,你可以在我们的论坛中发帖。