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

  • Понедельник, 04 августа 2008

Прошло 2.5 года с момента публикации материала Добавление материалов пользователями, многое изменилось, вышла Joomla 1.5 и руководство слегка устарело. Поэтому я решил написать вторую статью на эту же тему, но уже непосредственно применительно к Joomla 1.5. Данная статья описывает вопрос предоставления пользователям прав на добавление и публикацию материалов в Joomla 1.5. Т.е. чтобы сразу после регистрации на сайте пользователь автоматически получал возможность добавлять материалы на сайт.

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

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

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


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

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

  1. Находим в файле /libraries/joomla/user/authorization.php код:
    		$this->addACL( 'com_content', 'publish', 'users', 'super administrator', 'content', 'all' );
  2. Вставляем после него следующие строки:
    		$this->addACL( 'com_content', 'add', 'users', 'registered', 'content', 'all' );
    		$this->addACL( 'com_content', 'edit', 'users', 'registered', 'content', 'own' );
    
    
  3. Сохраняем измененный файл
  4. Открываем файл /components/com_content/controller.php, находим и удаляем в нем код:
    		if ($user->get('gid') < 19) {
    			JError::raiseError( 403, JText::_('ALERTNOTAUTH') );
    			return;
    		}
  5. Сохраняем измененный файл
  6. Открываем файл /components/com_content/views/article/view.html.php, находим и удаляем в нем код:
    		if ($user->get('gid') < 19) {
    			JError::raiseError( 403, JText::_('ALERTNOTAUTH') );
    			return;
    		}
  7. Сохраняем измененный файл
  8. В административной панели, открываем менеджер меню, выбираем User menu и меняем уровень доступа к пункту добавления материалов с Special на Registered.

После проведения указанных модификаций у всех авторизованных пользователей в пользовательском меню станет доступен пункт Submit an Article и они смогут добавлять материалы на сайт (с премодерацией). Если же, необходимо, чтобы пользователи могли не просто добавлять материалы, но и сразу их публиковать, то при внесении изменений в файл /libraries/joomla/user/authorization.php необходимо добавить помимо указанных 2-х строк, еще одну:

		$this->addACL( 'com_content', 'publish', 'users', 'registered', 'content', 'all' );

Почитайте также:

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

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

Логотип Joomla

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

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

Свернуть

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

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

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

Видео

Форум о Joomla