Статьи

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

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

  • Разрешить добавлять материалы пользователям категории Registered, внеся изменения в их права.
  • Заменить категорию для новых пользователей на Author.
  • Инсталлировать сторонний компонент для добавления новостей (например, CZ Submit), и дать права доступа только зарегистрированным пользователям.

Первые два способа осуществляются только с помощью внесения изменений в файлы дистрибутива Joomla.

Примечание: в данной статье мы рассмотрим только эти 2 способа предоставления возможности добавления материалов зарегистрированными пользователями.

 

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

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

Порядок внесения изменений:

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

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

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

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