2011-01-20 79 views
1

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

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

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

回答

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相同的代码显示内容或错误消息。

我能想到的唯一的另一种方式就是可以完成这个任务,就是对每个用户使用一个ACL组件。

带有子模板的K2方法不需要任何核心黑客,只需要一点工作。

+0

这是相当令人印象深刻的使用K2 +模板覆盖 - 我喜欢你的想法。感谢分享布伦特! – mozami 2011-01-21 21:48:28

0

不良信息:无法使用标准的Joomla 1.5(无黑客攻击) 好消息:您可以使用Joomla的免费或商业扩展之一来实现。我建议,例如:

管理员,用户访问 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

+0

我已经检查了JED上的每个插件......这不能使用建议的扩展来完成,因为它会涉及到为每个用户创建一个用户组。感谢您的建议,虽然... – 2011-01-21 00:30:32

1

你可以达到你想要Flexicontent http://www.flexicontent.org/和Flexiaccess

Flexicontent什么是K2型元件,和我互换使用它们。借助Flexiaccess,您可以创建仅供特定用户使用的项目。

不需要任何hacks。

+0

这不会与其他ACL具有相同的问题吗?你需要为每个用户权利组? – 2011-01-22 02:33:26

相关问题