我在Joomla网站上有一个文章类别,其中所有文章只能由注册用户查看。当我将模块设置为在我的主页上列出它们时,它们仅在用户登录时显示。但是,即使用户尚未登录,我也希望列出此类别的所有文章,以及何时他/她点击他将被提示引入他/她的登录数据的链接。 ¿怎么做到这一点?
答案 0 :(得分:1)
为了使其正常工作,您将不得不为文章页面创建模板覆盖。由于您希望主页模块为所有用户显示文章,因此需要将文章设置为公开,否则它们将不会显示。
然后你需要覆盖这个文件 - components / com_content / views / article / tmpl / default.php
制作副本并将其放在此处 - templates / YOUR TEMPLATE / html / com_content / article / default.php
如果要保护所有内容,请将覆盖文件名保留为default.php。如果您只需要保护某些类别,然后使用其他文件名,则在“类别高级选项”中,从“备用布局”下拉列表中选择您上传的文件。
在覆盖中,您需要添加以下代码:
<?php $user =& JFactory::getUser();
if($user->id) : ?>
CONTENT YOU WANT PROTECTED HERE
<?php else: ?>
CONTENT TO DISPLAY IF USER IS NOT LOGGED IN
<?php endif; ?>
这将允许您将文章保留为公开,但如果用户未登录则隐藏内容。