Отображение определенного контента для конкретного пользователя в Joomla 1.5 - PullRequest
1 голос
/ 21 января 2011

Короче говоря, это сайт для исследовательской лаборатории.Мне нужно отобразить определенный контент (лабораторный отчет) для конкретного пользователя.Пользователям будет предоставлено имя пользователя и пароль при выходе, и им будет предложено войти на веб-сайт, чтобы получить доступ к его / ее отчету с предоставленными ему учетными данными.

Таким образом, это «конкретный контент»для "конкретного пользователя" - переход к версии 1.6 не возможен.

Я имею в виду решение, но включаю в себя множество основных хакерских атак и потребуется некоторое время ... Если кто-то был впохожая ситуация или иметь в виду, я был бы признателен за вашу помощь.

Ответы [ 3 ]

2 голосов
/ 21 января 2011

Хорошо, это можно сделать, но для этого потребуется небольшая хитрость.Во-первых, вам понадобится способ опубликовать лабораторные отчеты и связать их с пользователем.Я бы использовал K2 для этого, так как вы можете добавить отчет в качестве приложения к элементу.Вы также можете добавить дополнительные поля в K2, что будет следующим шагом.Вам понадобится дополнительное поле, в котором вы можете ввести идентификационный номер пользователя, который вы будете использовать, чтобы определить, разрешено ли пользователю просматривать контент.

Есть несколько шагов, которые вам необходимо предпринять, чтобы отфильтроватьсодержимое, чтобы его мог видеть только связанный пользователь.

  1. Вам потребуется получить идентификатор пользователя после входа в систему:

    $ user = & JFactory ::getUser ();

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

  2. Вам понадобится пункт меню, который ссылается на категорию K2, гдевсе лабораторные отчеты отправляются.

  3. Вам потребуется подшаблон с измененным category_item.php для этой категории, который отображает только связанные отчеты:

    if ($ this-> item-> extra_fields [USER_ID_EXTRA_FIELD_NAME] == $ usr_id) {

    все вещи элемента категории

    }

  4. Вам понадобитсяподшаблон с измененным item.php для категории, которая снова блокирует пользователей, отличных от ассоциированного пользователя, в основном тот же код, что и # 3, либоisplay контент или сообщение об ошибке.

Единственный другой способ, которым я могу думать, что вы можете сделать это, это использовать компонент ACL с группой для каждого пользователя.

Метод K2 с подшаблонами не потребует каких-либо базовых хаков и будет работать с небольшой работой.

1 голос
/ 21 января 2011

Вы можете достичь желаемого с Flexicontent http://www.flexicontent.org/ и Flexiaccess

Flexicontent - это компонент типа K2, и я использую их взаимозаменяемо. С Flexiaccess вы можете создавать элементы, которые доступны только определенным пользователям.

Нет необходимости взламывать.

0 голосов
/ 21 января 2011

Плохие новости: этого нельзя сделать стандартным Joomla 1.5 (без взлома) Хорошая новость: вы можете использовать одно из бесплатных или коммерческих расширений для Joomla. Я хотел бы предложить, например:

Admin-User-Access 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

...