В предыдущей статье было показано, как вставить блок социальных кнопок Поделиться в начало статьи в Joomla. Однако, по логике вещей, эти кнопки должны стоять после статьи, так как пользователь сайта только изучив содержимое материала, может принять решение: хочет он сохранить ссылку на статью и поделиться ей у себя в соц.сетях или статья показалась ему недостаточно полезной или достойной внимания, чтобы к её содержанию возвращаться в будущем. Именно о том, как вставить кнопки социальных сетей «Поделиться» после текста статьи на страницу сайта Joomla и будет показано ниже в этой статье.
Получаем код для вставки блока социальных кнопок у Яндекса =)
Самым простым способом получить код для вставки кнопок «Поделиться в социальных сетях» будет воспользоваться готовым решением. Рекомендую для этих целей сервис Яндекса: Конструктор блока «Поделиться» потому, что во-первых он будет работать наверняка быстрее (так как у Яндекса больше серверов, которые отдадут код для вставки) и во-вторых, он будет работать наверняка менее глючно, чем ваш (так как Яндекс наверняка следит за API социальных сетей куда пристальнее вас — просто в Яндексе больше народа работает). =)
Сохраняем полученный код для вставки блока социальных кнопок к себе на сервер в шаблон Joomla
Всегда хочется сделать так, чтобы изменения в одном месте влияли на всю работу сайта. Для этого мы и пользуемся CMS Joomla, а не верстаем каждую отдельную страницу в HTML. ; ) Поэтому код для вставки блока кнопок «Поделиться» в социальных сетях имеет смысл расположить в доступном для редактирования из админки Joomla месте.
Этому как нельзя лучше подходит папка с файлами шаблона. Бесплатным бонусом такого размещения будет то, что встроенный редактор текста в шаблоне не обрезает вставляемого кода. И это волшебно! =)
Итак, куда и как вставляем код:
- Нужно открыть «Управление каталогами» в «Менеджере шаблонов» сайта того шаблона, с которым вы работаете (хотя бы для того, чтобы в порыве страсти к порядку не удалить вместе с ненужным шаблоном и все остальные настройки, которые мы сделаем ниже).
- В корне папки шаблона (как это сделать именно в корне подробно описано в → этой статье) создадим новую папку (если она ещё не создана) и назовём её
includes
. В неё потом можно будет ещё много чего полезного поскладывать. ;) - В этой папке
includes
создадим новый файлYaShare-down.php
, в который и вставим код, полученный для вставки ссылок на социальные сети. - Ну и его потом всегда можно будет отредактировать не выходя из админки 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-й строке.
Всё! Код для вставки социальных кнопок Поделиться теперь будет вставляться после статьи, и его всегда можно будет отредактировать в Менеджере шаблонов сайта. =)
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)