Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在joomla中显示注册页面和登录页面自定义组件_Joomla_Joomla1.7 - Fatal编程技术网

在joomla中显示注册页面和登录页面自定义组件

在joomla中显示注册页面和登录页面自定义组件,joomla,joomla1.7,Joomla,Joomla1.7,我正在构建一个自定义组件,它应该只有登录的用户才能访问。我正在考虑检查JFactory::getUser()->guest,如果设置了,则将它们重定向到自定义页面 现在我更喜欢这个页面包含注册和登录选项,但是joomla本身似乎没有这个功能。我是否必须将此功能添加到自定义组件中,或者有其他解决方案?Joomla!'的默认登录模块/页面仅提供指向注册页面的链接 快速搜索,其中一个可能会做你想做的事 然而,如果您希望它与组件的访问集成,您必须自己编写代码。正常的过程是,如果用户试图访问资产视图,vi

我正在构建一个自定义组件,它应该只有登录的用户才能访问。我正在考虑检查
JFactory::getUser()->guest
,如果设置了,则将它们重定向到自定义页面


现在我更喜欢这个页面包含注册和登录选项,但是joomla本身似乎没有这个功能。我是否必须将此功能添加到自定义组件中,或者有其他解决方案?

Joomla!'的默认登录模块/页面仅提供指向注册页面的链接

快速搜索,其中一个可能会做你想做的事

然而,如果您希望它与组件的访问集成,您必须自己编写代码。正常的过程是,如果用户试图访问资产视图,view.html.php(或类似文件)将检查其权限,并根据组件发布一条JError消息,并可能将其重定向到系统登录

例如,com_内容

    // Check the view access to the article (the model has already computed the values).
    if ($item->params->get('access-view') != true && (($item->params->get('show_noauth') != true &&  $user->get('guest') ))) {
                    JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR'));
            return;
    }

您应该真正使用内置ACL来控制用户访问,而不是自己编写代码。这就是拥有ACL的全部意义所在。下面是关于ACL如何在站点的管理和前端工作的教程-

下面是向组件添加ACL的教程-

我认为使用ACL系统可以更好地为您服务,因为它允许您更大的灵活性,比如稍后添加额外的用户组和权限,而无需接触代码

一旦设置好了此选项,创建自定义注册或登录页面就像覆盖默认com_用户登录视图的模板一样简单。您需要合并这些文件-

对于页面的登录部分:

JOOMLA/components/com_users/views/login/tmpl/default.php
JOOMLA/components/com_users/views/registration/tmpl.default.php
对于页面的注册部分:

JOOMLA/components/com_users/views/login/tmpl/default.php
JOOMLA/components/com_users/views/registration/tmpl.default.php
然后将新的和改进的文件放在此处:

JOOMLA/templates/YOUR TEMPLATE/html/com_users/login/default.php
这将为您提供ACL控制的组件访问权限以及自定义登录/注册页面,而无需使用任何不必要的扩展