我只有一篇文章,我想将部分内容仅显示给已注册用户组,而另一部分仅显示自定义用户组。
我确定我有时会在没有插件的情况下读一篇关于这样做的文章(虽然我可能会错误地记住这篇文章)
如果没有使用这些内容的扩展,这是否可能?
{content group = registered}
答案 0 :(得分:0)
您可以创建一个类别(访问受限),说Registered
。创建另一个具有受限访问权限的类别,例如Paid_Access
。
现在,每篇文章都会创建两篇文章 - 一篇在Registered
类别中,只包含简介文字和另一篇Paid_Access
类别的完整文章。
创建具有相同名称的访问组和访问级别
访问级别的层次结构如下:
将Registered
类别设置为访问级别Registered
。将Paid_Access
类别设置为访问级别Paid_Access
默认情况下,在Joomla注册时,每个用户都将处于Registered
访问级别,并且只能查看文章介绍。
当用户付款时,请将用户移至Paid_Access
访问级别。此级别的用户可以查看完整的文章。
为每篇新文章创建两篇文章可能很麻烦,为了减轻这种痛苦,您可以使用ChronoForms创建自定义表单。此表单应该有两个文本区域 - 一个用于介绍文本,另一个用于完整文章(没有介绍文本)。保存时的表单本身会创建两篇文章 - 一篇在Registered
,另一篇在Paid_Access
。因此,你创作两篇文章的痛苦将会消失!
答案 1 :(得分:0)
没有插件就不可能。
原因:当Joomla准备内容时,必须有一个函数(代码snipet)检测{content}标记中包含的Text,并决定如何处理此文本并相应地编辑内容
我开发了一个内容插件,这将帮助您https://github.com/jitendra-khatri/jcontenthider设置您的方案。
答案 2 :(得分:-2)
如果您的模板将访问级别添加为正文或html(我的),则可以使用CSS执行此操作。虽然任何有萤火虫或代码检查员的人如果想看看来源,都可以取消隐藏内容。
<body class="registered">
// other code up to article content
<div id="articleContent">
// this is now in your article
<div class="hidefrompaid">
// content for registered users
</div>
<div class="hidefromregistered">
// content for paid users
</div>
</div>
...
然后你的css将是:
body.registered .hidefromregistered {
display:none;
}
body.paid .hidefrompaid {
display:none;
}
或者如果你真的想不显示它,你可以使用jQuery删除用户不应该使用文本周围的那些相同的css分类包装器看到的文本。
jQuery('body.registered').find('.hidefromregistered').remove();
jQuery('body.paid').find('.hidefrompaid').remove();
答案 3 :(得分:-2)