Доступ только зарегистрированным
Доступ только зарегистрированным. Не редко возникают ситуации, когда на вашем сайте на 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. В итоге получаем нужный нам результат! Сразу оговорюсь, что данная функция будет работать для всех материалов вашего сайта без исключения. Если же нужно ограничить доступ в некоторых материалах, то для этого потребуется сторонний плагин, о котором мы поговорим в следующих статьях. Так же не забывайте о том, что закрытый контент не индексируется поисковыми системами.
Скачать Joomla
Joomla 3.4.40 Russian
Joomla 2.5.30 Russian
Joomla 1.5.25 Russian
(русифицированная версия)