在1.6之前的Joomla中,我可以将菜单项设置为公开及其内容:例如已注册的文章。
这导致人们在未登录时可以看到菜单中文章的链接,但是只要他们点击它就会获得登录组件。之后他们看到了这篇文章。
在1.7中,这些相同的操作会导致我点击链接时组件屏幕保持空白的情况。
当前端用户没有以足够的权限登录时,如何获得注册文章以显示登录屏幕?之前很容易让我看起来很容易让它工作现在
答案 0 :(得分:9)
我要回答我自己的问题,因为我相信人们将来会需要这个,而我的解决方案只涉及一些额外代码的规则,然后你可以设置每篇文章等......注册,你会看到用户未登录时的登录字段。
在你的模板中,index.php将它放在顶部附近,它会获得你文章的访问级别。
$article =& JTable::getInstance("content");
$article->load(JRequest::getVar('id'));
$cAccLevel = $article->get("access");
然后在您的组件上方添加一个模块位置,并仅在您需要的访问级别为>时显示它。 1
<?php if($cAccLevel > 1): ?>
<jdoc:include type="modules" name="LOGIN_MODULE_POSITION" />
<?php endif; ?>
然后在模块管理器中将登录模块添加到LOGIN_MODULE_POSITION。
Voila ......不需要路由等......一切都开箱即用,我选择了这样的注销框和动作字段:
.logout-button,
.actions{
display:none;
}
祝你好运!
答案 1 :(得分:5)
创建“真实”菜单(例如“主菜单”)和将为所有用户显示的菜单项(例如“提交” 文章“)。菜单项的菜单项类型为”别名“。它是 “菜单项”参数将是“提交文章”菜单项 “隐藏菜单”。此菜单项的访问级别将是 “公开”,因为我们希望每个人都能够看到并使用它。
为此菜单创建一个“mod_mainmenu”类型的模块,就像您一样 为任何菜单做。
现在,当一个访客(非登录用户)访问“提交一个 文章“菜单选择,它将它们重定向到空白页面” 对于注册访问者“消息。如果他们成功登录,他们 被带到所需的页面(在这种情况下,“提交文章”)。 如果已经登录,他们会直接去那里。
答案 2 :(得分:2)
如果访问者是注册用户,只要显示内容,您可以使用以下代码:
$user =& JFactory::getUser();
<?php
if( !$user->guest ){ ?>
[[what ever you want to do ]]
<?php endif; ?>
希望有所帮助!!
答案 3 :(得分:1)
转到菜单CONTENT,创建或编辑要保护的项目的部分。
您会看到一个选项:访问级别
有3个选项:
公开,注册和特殊
将其设置为: 注册
然后,您需要更改本节的文章,这就是全部。
答案 4 :(得分:-2)
首先,您必须将您的joomla安装更新为2.5(这是joomla的最新版本),Joomla社区不再支持1.7。
有多种方法可以设置您的查看权限。 K2是一个有用的CCK组件来完成这项工作,我用来遵循的一个有用的技巧是在菜单中“链接”你的文章的类别并设置菜单项的特定权限