在Joomla 1.5中向特定用户显示特定内容

时间:2011-01-20 22:08:34

标签: joomla joomla1.5 acl

简而言之,这是一个调查实验室的网站。 我需要向特定用户显示特定内容(实验室报告)。用户将在离开时获得用户名和密码,并将被要求登录网站以获取他/她的报告,并提供给他的凭据。

因此,它是“特定用户”的“特定内容” - 移至1.6不是一种选择。

我有一个解决方案,但涉及大量核心黑客攻击并需要一些时间......如果任何人遇到类似情况或有想法,我将非常感谢你的帮助。

3 个答案:

答案 0 :(得分:2)

好的,这可以做到但是到达那里需要一点点诡计。首先,您需要一种方法来发布实验报告并将其与用户相关联。我会使用K2,因为您可以将报告添加为项目的附件。您还可以向K2添加额外的字段,这将是下一步。您需要一个额外的字段,您可以在其中输入用于确定是否允许用户查看内容的用户ID号。

现在需要采取几个步骤来过滤内容,以便只有关联的用户才能看到它。

  1. 用户登录后,您需要获取用户ID:

    $ user =& JFactory ::的getUser();

    $ usr_id = $ user-> get('id');

  2. 您需要一个链接到K2类别的菜单项,其中包含所有实验报告。

  3. 您需要一个带有修改后的category_item.php的子模板,该类别仅显示关联报告:

    如果($这 - >本期特价货品> extra_fields [USER_ID_EXTRA_FIELD_NAME] == $ usr_id){

    所有类别项目的东西

    }

  4. 您需要一个带有修改后的item.php的子模板,该类别会再次阻止除关联用户以外的用户,基本上与#3相同,以显示内容或错误消息。

  5. 我能想到的另一种方法就是为每个用户使用一个包含组的ACL组件。

    使用子模板的K2方法不需要任何核心攻击,只需要做一些工作。

答案 1 :(得分:1)

您可以使用Flexicontent http://www.flexicontent.org/和Flexiaccess

来实现您的目标

Flexicontent是一个K2类型的组件,我可以互换使用它们。使用Flexiaccess,您可以创建仅供某些用户使用的项目。

不需要黑客攻击。

答案 2 :(得分:0)

坏消息:标准的Joomla 1.5(没有黑客攻击)无法做到这一点 好消息:您可以使用Joomla的免费或商业Extensions之一来实现这一目标。我会建议例如:

管理-用户访问 http://extensions.joomla.org/extensions/access-a-security/backend-a-full-access-control/9040

或者您可以搜索自己: http://extensions.joomla.org/extensions/access-a-security/backend-a-full-access-control