Joomla 3内容限制

时间:2014-01-15 19:35:27

标签: joomla

我只有一篇文章,我想将部分内容仅显示给已注册用户组,而另一部分仅显示自定义用户组。

我确定我有时会在没有插件的情况下读一篇关于这样做的文章(虽然我可能会错误地记住这篇文章)

如果没有使用这些内容的扩展,这是否可能?

{content group = registered}

4 个答案:

答案 0 :(得分:0)

您可以创建一个类别(访问受限),说Registered。创建另一个具有受限访问权限的类别,例如Paid_Access

现在,每篇文章都会创建两篇文章 - 一篇在Registered类别中,只包含简介文字和另一篇Paid_Access类别的完整文章。

创建具有相同名称的访问组和访问级别

访问级别的层次结构如下:

  • 公共
    • 注册
      • 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)

我最终使用了jContentHider插件。虽然我还在做一些工作,但我按照我想要的方式工作。

对于其他感兴趣的人:

jContentHider on GitHub