В данной статье, мы снова будем усовершенствовать ADSmanager.
На этот раз, нашей целью будет – регистрация на сайте (доске объявлений adsmanager) одним кликом, с помощью соц. сетей.
Для начала давайте установим расширение Slogin – скачать из официального сайта.
После установки, нам будет доступно полностью готовое расширение для регистрации с помощью соц. сетей.
Далее Вам нужно разобраться с настройкой плагинов для авторизации, подробное описание можете прочитать здесь - http://joomla-secrets.ru/interesnye-stati-i-obzory/hochu/nastrojka-joomla/135-avtorizatsii-cherez-sotsialnye-seti-v-joomla
Настраивайте те плагины (соц. сети), которые хотите. У меня, к примеру, активны три соц. сети (Google, Twitter, VK)
Когда у нас все настройки готовы, можем приступить непосредственно к осуществлению задумки.
Создаем модуль
- Идем в «Менеджер модулей», создаем модуль с типом Slogin.
- Публикуем созданный модуль на всех страницах сайта.
- Позицию модуля пишем вручную – soc_reg.
- Сохраняем.
Так, как отображение модуля необходимо только на некоторых страницах (я взял страницу добавления объявления), нам придется поработать с кодом и сделать так, чтобы модуль отображался только на странице подачи объявления.
Почему это нельзя сделать с помощью модульной позиции?
- В шаблоне не всегда есть удобная модульная позиция.
- Заставить отображаться модуль на выше обозначенной странице нельзя (можно, но с помощью других расширений) обычно такие расширения отталкиваются от GET-параметра (в случае с компонентом advancedmodules, от ссылки), а на сайте ссылки часто меняются.
В таком случае, нам нужно придумать универсальный способ для отображения модуля.
Размещаем модуль на нужной странице
Сначала нужно отредактировать файл - componentscom_adsmanageriewsedit mpldefault.php.
Ищем такой комментарий - <!-- fields --> (у меня 292 строка) и после него вставляем:
<div style="width:50%;"> <?php $document = &JFactory::getDocument(); $renderer = $document->loadRenderer('module'); $options = array('style' => 'raw'); $module = JModuleHelper::getModule('mod_slogin'); $module->params = "heading=2 limit=10"; echo $renderer->render($module, $options);
Главное указать какой модуль выводить, в нашем случае -
$module = JModuleHelper::getModule('mod_slogin')
После правильно проделанных действий модуль будет отображаться на задуманном месте.
Вот и все, если что-то не получилось, внимательно прочитайте и сделайте все по пунктам.
P.S. Немного решил видоизменить данный модуль (после вхождения в один из аккаунтов).
Убрал кнопку «Выйти».
Редактируем файл - /modules/mod_slogin/tmpl/default.php.
Ищем
<div class="logout-button">
(30-40 строка), после него удаляем кнопку выхода
<input type=”submit”……>
и вставляем простенький скрипт:
<?php if ($_GET['Itemid'] != 609) { echo '<input type="submit" name="Submit" class="button" value="Выход" />'; } else {}; ?>
Данный код запрещает показ кнопки выхода на странице с идентификатором 609 (у меня это главная страница), соответственно на всех внутренних страницах доски, кнопка показываться не будет.
Для того, чтобы узнать идентификатор нужной страницы, перейдите в меню, где опубликована главная страница adsmanager.
Еще можно немного поправить стили, делается это в файле - /modules/mod_slogin/tmpl/default/slogin.css
Результат:
Посмотреть результат - http://vdoske.org.ua/post_add.html