k2文章中对游客隐藏内容的方法

joomla 1.5本身的用户级别功能是比较薄弱的,而k2组件的文章访问控制也没有什么改进的地方,为文章添加用户访问控制主要有几种方式:

1、为文章设定访问级别

2、为菜单设定访问级别

但如果为文章设定访问级别,只能针对整篇文章,如果是游客点击后,很可能只会显示440页面,这样非常不友好。

一般来说,我们希望点击进入文章后,对游客显示提示信息,显示部分文章内容,隐藏部分文章内容,然后登录后去除提示作息,显示隐藏内容。

下面的例子比较典型,而且改变的只是一些运算符号,学会了就可以灵活组合应用。

如果需要隐藏下载附件,侧

//in category_item.php search for
if($this->item->params->get('catItemAttachments') && count($this->item->attachments)):
and replace that part with
if($this->item->params->get('catItemAttachments') && count($this->item->attachments) && !$this->user->guest):

//in item.php search for
if($this->item->params->get('itemAttachments') && count($this->item->attachments)):
and replace that part with
if($this->item->params->get('itemAttachments') && count($this->item->attachments) && !$this->user->guest):

同理,如果只需要对游客隐藏文字内容,可以用以下代码:

<?php if(!$this->user->guest): ?>
<p>文字内容</p>
<?php endif; ?>

再同理,如果只需要显示给游客的文字内容,可以用以下代码:

<?php if($this->user->guest): ?>
<p>文字内容</p>
<?php endif; ?>