Доступ только зарегистрированным

Доступ только зарегистрированным

Доступ только зарегистрированным. Не редко возникают ситуации, когда на вашем сайте на Joomla необходимо ограничить доступ к содержанию статей для посетителей. На пример у каждого материала есть вступительный текст. И если пользователь решит продолжить чтение основного текста материала, нажав кнопку «далее», то ему будет предложено зарегистрироваться или авторизоваться на сайте. Если воспользоваться доступными средствами Joomla, то к сожалению такого эффекта не достичь. Поэтому нам придётся немного изменить исходный код. Для этого в менеджере материалов в разделе администратора заходим в «Параметры» и пункт «Показывать вступительный текст» оставляем или ставим на «Показать».

Менеджер материалов

Параметры

Следующим шагом будет изменение кода в файле article.php, который находится в директории components\com_content\models. Открываем его и примерно в строке №586 после комментария с текстом
// Are we showing introtext with the article меняем код на следующий:

// Are we showing introtext with the article

$user =& JFactory::getUser();

if (!$params->get('show_intro') && !empty($this->_article->fulltext)) {

$this->_article->text = $this->_article->fulltext;

} else {

if($user->id) {

$this->_article->text = $this->_article->introtext . chr(13).chr(13). $this->_article->fulltext;

} else {

$this->_article->text = $this->_article->introtext. '<h3>please login first</h3>';

В теги <h3> вы можете вставить любой текст или ссылку для приглашения на регистрацию. Если текст содержит русские символы, не забудьте сохранить article.php в кодировке UTF-8 без BOM. В итоге получаем нужный нам результат! Сразу оговорюсь, что данная функция будет работать для всех материалов вашего сайта без исключения. Если же нужно ограничить доступ в некоторых материалах, то для этого потребуется сторонний плагин, о котором мы поговорим в следующих статьях. Так же не забывайте о том, что закрытый контент не индексируется поисковыми системами.