0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 10827 Просмотров
*

ma1efic

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
Недавно столкнулся с проблемой - нужно было вывести боковую панель в Joomla 1.5, как на многих корпоративных сайтах на примере - "Обратный звонок", "Оставить отзыв" или "Поделиться". Перепробовал несколько вариантов доступных модулей, к сожалению ни один из них не подошел мне, поэтому перебирая различные варианты, модифицировал и доработал готовое решение, правда в "голом" виде, т.е. вам придется вручную вставлять код в шаблон.

В итоге получится панель, как на нижеприведенных примерах (лично вставлял этот код в обоих случаях):
Пример http://elizium-mebel.ru

Вот инструкция:

1) Добавляем в файл templateDetails.xml новую позицию "sideblock" (в нужное место, например после списка всех позиций):

Код
<position>sideblock</position>

2) Добавляем в head шаблона скрипт анимации панели и подключаем jquery:

Код
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(document).ready(function(){
/*скрипт левой панели*/
$("div.left_panel p.open").toggle(function(){
$("div.left_panel").animate({left:'230px'},500);}, function() {
$("div.left_panel").animate({left:'-71px'},500);
});
});
</script>
</head>

3) Добавляем в body шаблона контейнер боковой панели:

Код
<body>
<div class="left_panel">
<p class="open"></p>
<jdoc:include type="modules" name="sideblock" style="xhtml" />
</div>
</body>

4) В файл стилей CSS добавляем стили и подстраиваем под наш сайт:

Код
.left_panel {
        background: #fff; /*фон панели*/
        height: 162px; /*высота панельного блока */
        padding: 5px 5px 5px 4px; /*отступ текста от края панели*/
        font-size: 14px; /*размер шрифта*/
        text-align: left; ,*выравнивание текста*/
        margin-left: -230px; /*отступ слева, когда панель выдвинута - должен быть равен первому числу в скрипте*/
        width: 300px; /*ширина панельного блока*/
        margin-top: 220px; /*отступ панели от верхнего края окна браузера*/
        position: fixed; /*фиксируем панель относительно окна браузера*/
        left: -71px; /*размер отступа задвинутой панели - должен быть равен третьему числу в скрипте*/
        border: 1px solid #000000; /*рамка боковой панели*/
        z-index: 5000; /* индекс, чтобы панель выдвигалась поверх всех остальных элементов сайта*/
}

.left_panel p.open {
        background: url(../images/knopka.png) right no-repeat; /*кнопка панели, выровненная по правому краю - размер кнопки 40х220*/
        width: 40px; /*ширина блока*/
        height: 220px; /*высота блока*/
        position: absolute; /*обязательное свойство*/
        left: 300px; /*обязательное свойство*/
        top: -8px; /* регулируйте этот параметр для выравнивания картинки относительно блока панели*/
        cursor:pointer;
}

Вот в принципе и всё. Теперь например берем модуль callback и вставляем его в позицию sideblock - так вы получите функцию обратного звонка из боковой панели (пример номер 2). Или можете просто вставить важный текст, который пользователь вряд ли пропустит, например о скидках и т.п. (пример номер 1).

P.S. Если вы используете карты Яндекс или Google, то у вас может сбиться функция интерактивности. В этом случае просто обновите mootools (а скорее всего просто включите этот плагин в списке плагинов Joomla раздела system).
« Последнее редактирование: 15.05.2014, 07:07:15 от ma1efic »
*

Efrik

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
очень полезная вещь
Только пробую поставить на Joomla 2.5, панель появляется но сразу в раздвинутом виде и кнопка.png сразу пропадает
В чем может быть проблема?
*

Neptun

  • Захожу иногда
  • 183
  • 8 / 0
Всё бы хорошо. Но когда я вставляю Ява скрипт, то скрипт, который юзает шаблон, перестаёт работать. Соответственно весь смысл выше изложенного теряется. Может есть какой-нибудь готовое решение? Может быть даже за деньги? Я не могу в инете ничего путёвого найти, даже близко похожего на решение моей задачи. На форуме здесь все по партизански молчат, складывается ощущение, что это на столько не интересная и не нужная вещь, что никто ей не пользуется... Ну так ведь не бывает!!
*

dstavropolskij

  • Захожу иногда
  • 106
  • 10 / 0
Апнул ТС карму. Но все-же Google Works!
*

Neptun

  • Захожу иногда
  • 183
  • 8 / 0
В смысле Вы хотите сказать что это можно реализовать только по средствам CSS? Всё ? Волшебства с явой не ждать?
*

ma1efic

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
Ребят, извиняюсь, что сразу не ответил, т.к. забыл поставить тему на контроль и давно сам сюда не заглядывал(

Цитировать
Только пробую поставить на Joomla 2.5, панель появляется но сразу в раздвинутом виде и кнопка.png сразу пропадает

Данный пример опробован только на Joomla 1.5. У меня даже на 1.5 такие косяки появлялись. Это связано с конфликтом скриптов. Либо Jquery с mootools конфликтуют, либо неправильная последовательность подключения библиотек и порядок работы скриптов. Тут нужно поэкспериментировать. Можно пробовать скрипт подставлять сразу в head, либо наоборот в body. Убирать дополнительное подключения jquery (насколько я помню, в Joomla 2.5 в настройках некоторых модных шаблонах (например в YouJoomla сразу есть функция подключения библиотек, они могут конфликтовать, если вы еще одну подключаете).

Цитировать
Всё бы хорошо. Но когда я вставляю Ява скрипт, то скрипт, который юзает шаблон, перестаёт работать.

Здесь нужно подробнее смотреть. Смотря с какой библиотеки отключается скрипт. Если с mootools, то надо использовать jQuery.noConflict(). Подробнее об использовании этого приема поищите в Яндексе. Например в моем примере №2 я как раз использовал данный ход. Сначала подключаем скрипт Noconflict, затем скрипт панели. Получается таким образом:

Код
<script type="text/javascript">jQuery.noConflict();</script>
<script>
jQuery(document).ready(function(){
/*left panel*/
jQuery("div.left_panel p.open").toggle(function(){
jQuery("div.left_panel").animate({left:'230px'},500);}, function() {
jQuery("div.left_panel").animate({left:'-71px'},500);
});
});
</script>
*

maxsl_89

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
ma1efic, очень круто! Все работает!
А как бы подфиксить скрипт, чтоб панелька выезжала при наведении?
*

HarPy

  • Новичок
  • 3
  • 0 / 0
Добрый день!
Можно более подробно описать - как создать боковую панель.
Или может есть где исходники скачать.
Заранее благодарю.
*

ma1efic

  • Осваиваюсь на форуме
  • 34
  • 4 / 0
Добрый день!
Можно более подробно описать - как создать боковую панель.
Или может есть где исходники скачать.
Заранее благодарю.

Так вроде и так всё подробно описано. Если совсем нет желания делать самостоятельно, могу посоветовать последние версии бесплатно распространяемого шаблона yougrids от youjoomla, куда уже изначально встроено очень много позиций модулей, дополнительных настроек и т.п., в том числе боковые всплывающие панели со всех сторон. Шаблон очень гибкий, подходит для любых случаев жизни.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль mod_custom: где сохраняется добавляемый код?

Автор r0m4n

Ответов: 8
Просмотров: 1457
Последний ответ 20.12.2023, 09:52:48
от kit2m2
Как убрать панель внизу слева у SuperUser в JFBConnect?

Автор Maffo

Ответов: 2
Просмотров: 579
Последний ответ 26.07.2021, 01:48:02
от Maffo
Модуль Layer Slider (John Gera, George Krupa, Janos Biro, Balint Polgarfi)

Автор wayn

Ответов: 1
Просмотров: 1043
Последний ответ 15.12.2019, 13:10:49
от beliyadm
Модуль sp page builder

Автор denchik82

Ответов: 13
Просмотров: 6527
Последний ответ 19.02.2019, 07:34:58
от bayersoff
Включить в один материал другой материал с доп.полями

Автор Allisa999

Ответов: 11
Просмотров: 1440
Последний ответ 07.01.2019, 19:47:30
от Allisa999