Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Вставка кнопок социальных сетей «Поделиться» после статьи на страницу сайта Joomla

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



Получаем код для вставки блока социальных кнопок у Яндекса =)

Самым простым способом получить код для вставки кнопок «Поделиться в социальных сетях» будет воспользоваться готовым решением. Рекомендую для этих целей сервис Яндекса: Конструктор блока «Поделиться» потому, что во-первых он будет работать наверняка быстрее (так как у Яндекса больше серверов, которые отдадут код для вставки) и во-вторых, он будет работать наверняка менее глючно, чем ваш (так как Яндекс наверняка следит за API социальных сетей куда пристальнее вас — просто в Яндексе больше народа работает). =)

Сохраняем полученный код для вставки блока социальных кнопок к себе на сервер в шаблон Joomla

Всегда хочется сделать так, чтобы изменения в одном месте влияли на всю работу сайта. Для этого мы и пользуемся CMS Joomla, а не верстаем каждую отдельную страницу в HTML. ; ) Поэтому код для вставки блока кнопок «Поделиться» в социальных сетях имеет смысл расположить в доступном для редактирования из админки Joomla месте.

Этому как нельзя лучше подходит папка с файлами шаблона. Бесплатным бонусом такого размещения будет то, что встроенный редактор текста в шаблоне не обрезает вставляемого кода. И это волшебно! =)

Итак, куда и как вставляем код:

  1. Нужно открыть «Управление каталогами» в «Менеджере шаблонов» сайта того шаблона, с которым вы работаете (хотя бы для того, чтобы в порыве страсти к порядку не удалить вместе с ненужным шаблоном и все остальные настройки, которые мы сделаем ниже).
  2. В корне папки шаблона (как это сделать именно в корне подробно описано в → этой статье) создадим новую папку (если она ещё не создана) и назовём её includes. В неё потом можно будет ещё много чего полезного поскладывать. ;)
  3. В этой папке includes создадим новый файл YaShare-down.php, в который и вставим код, полученный для вставки ссылок на социальные сети.
  4. Ну и его потом всегда можно будет отредактировать не выходя из админки Joomla так, как описано в → этой статье. В этом и заключается смысл размещение этого файла в папке файлов шаблона.

Итого получим новый файл с кодом для вставки кнопок социальных иконок, который расположен на серверу по этому пути (у меня шаблон Protostar — уточнение для тех, кто не в танке) ; )

./templates/protostar/includes/YaShare-down.php

Как изменить работу Joomla, чтобы после статьи вставился произвольный код

Дальше нам понадобится доступ на сервер к файлам Joomla. Так как из самой Joomla поменять код её компонентов нереально без установки дополнительных плагинов. Но зачем загромождать посторонними приложениями то, что предназначено для работы с контентом сайта, а не для правки самоё себя? Поэтому воспользуемся тем, что даёт удобный доступ к правке файлов на сервере, например, «Менеджер файлов» ISP-manager хостинга firstVDS лично для меня очень подходит для этих целей.

За вывод полной версии статьи на сайт в Joomla отвечает компонент com_content, а конкретно нам нужен файл, собирающий отображение статьи, который находится по пути:

./components/com_content/views/article/view.html.php

Именно в него и нужно внести правки для вставки не просто того текста, что находится в базе данных сайта и хранящих вступительную часть статьи introtext и её основную часть fulltext, но и наш код, сохранённый в созданном ранее файле YaShare-down.php.

Итак, что же меняем в файле view.html.php в районе 160-170 строчек:

Было:

		// NOTE: The following code (usually) sets the text to contain the fulltext, but it is the
		// responsibility of the layout to check 'access-view' and only use "introtext" for guests
		if ($item->params->get('show_intro', '1') == '1')
		{
			$item->text = $item->introtext . $item->fulltext;
		}

Стало:

		// читаем код вставки социальных кнопариков в переменную $YaShareDown
		$YaShareDown    = file_get_contents('./templates/protostar/includes/YaShare-down.php');

		// NOTE: The following code (usually) sets the text to contain the fulltext, but it is the
		// responsibility of the layout to check 'access-view' and only use "introtext" for guests
		if ($item->params->get('show_intro', '1') == '1')
		{
			$item->text = $item->introtext . $item->fulltext . $YaShareDown; // выводим переменную $YaShareDown после вывода полного текста статьи fulltext
		}

Пояснение

Для того, чтобы вывести код, расположенный в файле YaShare-down.php, мы его прочитаем в переменную $YaShareDown в 165-й строке (см. Стало)

И после этого выводим переменную $YaShareDown после вывода полного текста статьи fulltext в 171-й строке.

Всё! Код для вставки социальных кнопок Поделиться теперь будет вставляться после статьи, и его всегда можно будет отредактировать в Менеджере шаблонов сайта. =)

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Log in to comment

Обсуждение этой статьи

ИНФОРМАЦИЯ: Вы оставите комментарий к этой статье как 'Гость'