Установка онлайн чата на сайт, на базе CMS Joomla

Перед тем как установить онлайн чат SAN на сайт Joomla, необходимо зарегистрироваться в системе и подключить домен, на который устанавливается чат-консультант, в Личном кабинете.

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

Установка онлайн чата на сайт производится подключением JS скрипта. CMS Joomla предоставляет несколько механизмов включения JavaScript на Ваш сайт. Мы рассмотрим как подключить скрипт чата на сайт с помощью модуля, а также несколько способов, которыми Вы можете воспользоваться для самостоятельного подключения.

Способы подключения чата

Самый простой из предложенных способов - установка чата на сайт с помощью нашего модуля. Данный модуль только подключает JS скрипт в секции <head>. Рассмотрим подробнее.

Установка модуля онлайн чата для сайта

  1. Загрузите модуль mod_SAN_consultant.zip Загрузить
  2. Войдите в административный интерфейс Joomla Вашего сайта. Для это нужно перейти по адресу: ваш_сайт.ru/administrator. Данный адрес может быть другим в зависимости от настроек, но в базовом виде он такой.
  3. В разделе Расширения выберите Менеджер расширений. Откроется страница "Менеджер расширений: Установка". Установка онлайн чата на Joomla
  4. На этой странице, нажмите кнопку Выберите файл. Выберите загруженную папку "mod_san_consultant.zip", и нажмите кнопку Загрузить и установить.
  5. После установки, перейдите в раздел Расширения -> Модули. Откроется страница "Модули (сайт)".
  6. В списке модулей, выберите модуль Онлайн чат SAN.
  7. Модуль онлайн чата SAN в менеджере модулей Joomla
  8. Откроется страница "Модули: Онлайн чат SAN". Установите параметры: Показывать заголовок - Скрыть; Позиция - main_content (можно выбрать любую другую); Состояние - Опубликовано.
  9. Публикация модуля в Joomla
  10. На этой же странице, откройте вкладку Привязка к пунктам меню, и выберите страницы, на которых будет выводиться модуль.
  11. Нажмите кнопку Сохранить.

Создание простого модуля с чатом для сайта

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

  1. Для начала необходимо создать следующую файловую структуру.
  2. Файловая структура модуля с чатом для сайта
  3. Содержимое файла default.php. Тут мы добавляем скрипт в секцию <head>
    <?php
    defined('_JEXEC') or die;
    
    $document = JFactory::getDocument();
    
    $document->addScript('https://san-consultant.ru/st/st_clients/js/san_bbc.js', false, false, true);
    

    Метод addScript можно использовать без дополнительных параметров, указав лишь путь загрузки скрипта. В данном примере в тег script добавляется атрибут async.

  4. Содержимое файла mod_chat.php
    <?php
    defined('_JEXEC') or die;
    
    $moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8');
    
    require JModuleHelper::getLayoutPath('mod_chat', $params->get('layout', 'default'));
    
  5. Содержимое файла mod_chat.xml . Тут описывается конфигурация и настройки модуля. В данном случае у нас простейший модуль, без настроек. Указаны лишь названия и файловая структура.
    <?xml version="1.0" encoding="utf-8"?>
    <extension type="module" version="3.1" client="site" method="upgrade">
    	<name>Онлайн чат для сайта</name>
    	<author>YOU</author>
    	<creationDate>Jan 2020</creationDate>
    	<copyright>Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved.</copyright>
    	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
    	<authorEmail>example@mail.ru</authorEmail>
    	<authorUrl>example.ru</authorUrl>
    	<version>1.0</version>
    	<description>Онлайн чат для сайт</description>
    	<files>
    		<filename module="mod_chat">mod_chat.php</filename>
    		<filename>mod_san_chat.xml</filename>
    		<folder>tmpl</folder>
    	</files>
    </extension>
    
  6. Далее эту структуру нужно архивировать. После архивации у вас будет 1 файл архива mod_chat.zip, который можно устанавливать на сайт Joomla.

Функциональность модуля можно расширить добавив различные настройки в xml файле.

Создание модуля HTML-код

CMS Joomla имеет массу встроенных модулей, на основе которых можно создавать свои модули. Рассмотрим создание простого модуля на основе встроенного модуля типа HTML-код

  1. Войдите в административный интерфейс Joomla Вашего сайта.
  2. В разделе Расширения выберите Менеджер модулей. Откроется страница "Менеджер модулей: Модули".
  3. Нажмите кнопку Создать.
  4. Откроется страница "Выбор типа модуля".
  5. Выберите тип модуля HTML-код.
  6. Откроется страница "Модуль HTML-код". Установите параметры: Заголовок - SAN-consultant; Показывать заголовок - Скрыть; Позиция - footer (не принципиально); Состояние - Опубликовано.
  7. В поле для редактирования вставьте скопированную строчку HTML кода:
    Копировать
    <script src="https://san-consultant.ru/st/st_clients/js/san_bbc.js" async></script>
  8. Нажмите кнопку Сохранить.
  9. Если редактор не будет сохранять тег <script>, тогда в разделе Система -> Общие настройки смените редактор по умолчанию, например на CodeMirror и попробуйте заново.

Подключение скрипта JavaScript в коде

В Joomla есть несколько способов для включения JavaScript на страницы вашего сайта с использованием Joomla API:

  • JDocument::addScriptDeclaration
  • JDocument::addScript
  • JHTML::script

Joomla рекомендует использовать эти методы, т.к. они гарантируют, что весь JavaScript будет правильно встроен между тегами <head> </ head>, и в случае использования JDocument::addScript and JHTML::script файл будет гарантированно включен один раз.

Нас интересует подключение внешнего скрипта JS

  1. Метод addScript класса JDocument
    <?php
    $document = JFactory::getDocument();
    $document->addScript('https://san-consultant.ru/st/st_clients/js/san_bbc.js');
    ?>
    
  2. Метод script класса JHtml
    <?php
    JHtml::script('https://san-consultant.ru/st/st_clients/js/san_bbc.js');
    ?>
    

Подключить скрипт можно в шаблоне отображения компонента или модуля.
Например, у Вас есть модуль mоd_contacts, выводящий контактную информацию на странице "Контакты". Тогда для того что бы подключить чат на этой странице необходимо открыть файл /modules/mod_contacts/tmpl/default.php и в нем добавить строку JHtml::script('https://san-consultant.ru/st/st_clients/js/san_bbc.js');