Добавление материалов пользователями

  • Среда, 11 января 2006

Как известно в Joomla после регистрации пользователю присваивается группа Registered. Однако пользователи этой группы не имеют прав на добавление материалов, поэтому чтобы дать пользователю возможность добавлять материалы необходимо его перевести в группу Author. А если пользователей много? Можно ли сделать так, чтобы после регистрации пользователь автоматически получал возможность добавлять материалы на сайт?

Существует несколько решений этой задачи:

  1. Изменить права группы Registered, разрешив добавление материалов
  2. Изменить группу для новых пользователей на Author
  3. Установить сторонний компонент для добавления новостей (например JA Submit), и разрешить к нему доступ только зарегистрированным пользователям

Первые два метода реализуются только посредством внесения модификаций в файлы дистрибутива Joomla, потому что в настоящий момент управление правами групп пользователей не поддерживается (эта возможность обещана разработчиками в следующих версиях Joomla). А вот ограничение доступа к пункту меню является стандартной функцией и может установлено в Менеджере меню административной панели Joomla.

Примечание: статья посвещена обсуждению способов предоставления возможности добавления материалов зарегистрированными пользователями. Вопросы возможности предоставления прав на модификацию или публикацию материалов не рассматриваются.

Данная статья посвящена Joomla 1.0.x, для Joomla 1.5 почитайте более свежее руководство: Добавление материалов пользователями в Joomla 1.5


Изменение прав группы Registered

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

  1. Находим в файле /includes/gacl.class.php код:
    $this->_mos_add_acl( 'action', 'publish', 'users', 'super administrator', 'content', 'all' );
    
  2. Вставляем после него следующие строки:
    $this->_mos_add_acl( 'action', 'add', 'users', 'registered', 'content', 'all' );
    $this->_mos_add_acl( 'action', 'edit', 'users', 'registered', 'content', 'own' );
    $this->_mos_add_acl( 'action', 'publish', 'users', 'registered', 'content', 'all' );
    
  3. Сохраняем измененный файл


Изменение группы по умолчанию

Данная модификация позволяет автоматически всем новым пользователям присваивать группу Author, которая имеет права на добавление материалов. Изменения не затронут уже имеющихся пользователей, поэтому если вы собираетесь воспользоваться этим методом — сначала примените модификацию, а уже потом разрешайте регистрацию пользователей на сайте.

  1. Находим в файле components/com_registration/registration.php строчку:
    $row->gid = $acl->get_group_id('Registered','ARO');
    
  2. Заменяем эту строчку на следующую:
    $row->gid = $acl->get_group_id('Author','ARO');
    
  3. Сохраняем измененный файл

ПРИМЕЧАНИЕ: если на сайте используется компонент CommunityBuilder, то для изменения группы по умолчанию необходимо править файл components/com_profiler/comprofiler.php.


Ограничение доступа к компоненту

Добавление материалов на сайт можно производить не только посредством стандартного компонента Content, но и с помошью сторонних компонентов. В качестве такого компонента можно использовать компонент JA Submit. Чтобы закрыть доступ для неавторизованных пользователей необходимо в пункте меню, ссылающемся на компонент, установить уровень доступа Registered.

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla