Новости Joomla

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

act1ve

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
Для того, чтобы настроить всплывающее окно с модулем aicontactsafe, я использовал довольно сложную схему:

1) Создаем модуль aicontactsafe с позицией acsm
2) Создаем статью и добавляем в нее {loadposition acsm}. ID статьи 150, ID категории 2
3) Создаем спрятанное меню для вывода статьи (или категории статей), убираем там все лишние поля (дата, название категории и т.д.), ID меню 164
4) В месте, где нам надо, чтобы всплывал модуль, добавляем <a href="index.php?option=com_content&amp;view=article&amp;id=150&amp;catid=2&amp;Itemid=164&amp;tmpl=component" target="_blank">форма контактов</a> (здесь уже можно добавлять Lightbox и прочие плюшки)

Схема работает...но она очень громоздкая
Все упирается в чистый линк на модуль. Для того, чтобы его получить надо выполнить пункты 1, 2, 3.

Соответственно вопрос: есть ли более изящное решение вывода модуля во всплывающее окно?
« Последнее редактирование: 12.12.2012, 10:32:06 от AL_ALEX »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #1 : 22.07.2012, 20:46:10 »
Эту строку в шаблон
Код: php
<?php JHTML::_('behavior.modal'); ?>
Где надо вывести вставляешь этот код
Код: php
<a class="modal" href="#acsm" rel="{size:{x:400,y:300}}">Контакты
<div id="acsm">
{loadposition acsm}
</div>
</a>
В CSS добавляешь
Код: css
#acsm {display:none;}
Или использование плагинов других
*

act1ve

  • Осваиваюсь на форуме
  • 43
  • 4 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #2 : 24.07.2012, 17:32:18 »
Эту строку в шаблон
Код: php
<?php JHTML::_('behavior.modal'); ?>
Где надо вывести вставляешь этот код
Код: php
<a class="modal" href="#acsm" rel="{size:{x:400,y:300}}">Контакты
<div id="acsm">
{loadposition acsm}
</div>
</a>
В CSS добавляешь
Код: css
#acsm {display:none;}

Спасибо за предложенный вариант.

Сделал все, как описано в инструции, но в попапе выводится пустое окно. FireBug показывает, что <div id="acsm"> пустой, т.е модуль не рендерится вообще.
Если убрать {loadposition} и вставить "sdsdsd", текст нормально отображается в попапе.

Кроме того, по верстке не совсем правильно помещать блочный элемент div внутрь a.
Сначала была мысль заменить его на <span>...но при рендеринге модуля все равно внутри span появятся блочные элементы....

« Последнее редактирование: 24.07.2012, 17:37:16 от act1ve »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #3 : 10.12.2012, 17:39:30 »
Цитировать
Кроме того, по верстке не совсем правильно помещать блочный элемент div внутрь a.
Да точно. Хотя html5 уже позволяет закрыть на єто глаза ^-^, но сейчас не об этом здесь в действительности ошибка
Код: php-brief
<a class="modal" href="#acsm" rel="{size:{x:400,y:300}}">Контакты</a>
//Эту часть кода можете где угодно располагать
Код: html4strict
<div id="acsm">
{loadposition acsm}
</div>
Посмотрите в исходном коде, модуль выводится
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #4 : 10.12.2012, 19:25:12 »
Да, у меня тоже получилось.
Только, после нажатия кн. оправить, страница перезагружается и та же форма (не весь сайт, т.е. без стилей и позиций шаблона) отображается новой страницей, а не просто закрывается, AJAX в форме включен.
Можно это как то исправить?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #6 : 10.12.2012, 19:43:56 »
А зачем {loadposition acsm}?
Не проще ли и не лучше ли вывести позицию в шаблоне
то есть
в index.php шаблона:
Код
<?php JHTML::_('behavior.modal'); ?>
там же, перед закрывающимся тегом </body>
Код
<?php if($this->countModules('popup')) : ?>
<div id="popup">
<jdoc:include type="modules" name="popup" style="xhtml" />
</div><!-- #popup-->
<?php endif; ?>
в CSS вашего шаблона
Код
#popup {display:none;}
потом в любом нужном месте либо в шаблоне, либо в материале
Код
<a class="modal" href="#popup" rel="{size:{x:400,y:300}}">Контакты</a>
Ну и ваш модуль не забудьте в позицию popup опубликовать
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #8 : 10.12.2012, 19:54:13 »
Можно, но мне необходимо именно форму вывести, т.к. она передает название товара в поле.
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #9 : 10.12.2012, 19:56:12 »
Либо еще проще можно, если в папке с шаблоном нет файла component.php, то создаем его с таким содержимым
Код
<?php
defined('_JEXEC') or die;
$app = JFactory::getApplication();
$this->setGenerator(null);
$tplurl = $this->baseurl.'/templates/'.$this->template;
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $tplurl; ?>/css/template.css" type="text/css" />
</head>
<body class="component">
<jdoc:include type="message" />
<jdoc:include type="component" />
</body>
</html>
Отключаем на сайте чпу(временно) создаем пункт меню с формой, копируем ссылку, допустим получится такая - index.php?option=com_aicontactsafe&task=view&formid=11
Включаем ЧПУ обратно.
в index.php шаблона:
Код
<?php JHTML::_('behavior.modal'); ?>
Теперь в нужном месте делаем ссылку такого вида <a class="modal" href="index.php?option=com_aicontactsafe&task=view&formid=11&tmpl=component" rel="{size:{x:400,y:300}}">Контакты</a>
Выделил жирным то, что необходимо дописать к URL
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #10 : 10.12.2012, 19:58:18 »
Да все равно как модуль выводить. Хоть код HTML впишите.
Не все равно, {loadposition acsm} - так будет обрабатываться плагином, те медленнее и вероятно больше нагрузка
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #11 : 10.12.2012, 19:59:10 »
Как передать переменную из компонента в модуль?. Может пригодится
Цитировать
Либо еще проще можно, если в папке с шаблоном нет файла component.php
Создай modal.php &tmpl=modal , test.php &tmpl=test
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #12 : 10.12.2012, 20:02:53 »
Создай modal.php &tmpl=modal , test.php &tmpl=test
Ну да, собственно можете назвать файл как угодно и соответственно дописать к ссылке &tmpl=ваше название
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #13 : 10.12.2012, 20:17:25 »
Мне Gruz все пошагово разжевал, только по ссылке выводится главная страница, а не форма.
Код
<a class="jcepopup" href="index.php?tmpl=myform&product_name=<?php echo $product_name?>" title="Заказать обратный звонок" rel="width[450];height[500]" style="color: #ff6600"><span style="color: #ff6600;border-bottom: 1px dashed;font-size: 14px;">Купить в 1 Клик</span></a>
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #14 : 10.12.2012, 20:28:35 »
Мне Gruz все пошагово разжевал, только по ссылке выводится главная страница, а не форма.
Код
<a class="jcepopup" href="index.php?tmpl=myform&product_name=<?php echo $product_name?>" title="Заказать обратный звонок" rel="width[450];height[500]" style="color: #ff6600"><span style="color: #ff6600;border-bottom: 1px dashed;font-size: 14px;">Купить в 1 Клик</span></a>
У вас хоть немного логики есть?
Во-первых всплывающее окно будет, только если у вас установлен редактор jce+плагин jce_mediabox - Это я пишу, чтобы у других не возникло проблем, а то начнут копипастить код и будет еще куча вопросов
Во-вторых index.php?tmpl=myform&product_name=<?php echo $product_name?> - это и есть ссылка на главную но с параметрами(шаблон=myform, имя продукта=<?php echo $product_name?>)
если вставите такую ссылку в материал у вас обрежется php код, и имя продукта не передастся
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #15 : 10.12.2012, 20:32:55 »
Как получить ссылку на форму уже написал выше, использовать стандартное модальное окно либо JCE решайте сами.
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #16 : 10.12.2012, 20:40:01 »
Во-первых всплывающее окно будет, только если у вас установлен редактор jce+плагин jce_mediabox - Это я пишу, чтобы у других не возникло
Спокойствие, редактор jce+плагин jce_mediabox УСТАНОВЛЕН!

Цитировать
Во-вторых index.php?tmpl=myform&product_name=<?php echo $product_name?> - это и есть ссылка на главную но с параметрами(шаблон=myform, имя продукта=<?php echo $product_name?>)
если вставите такую ссылку в материал у вас обрежется php код, и имя продукта не передастся
Мне так рекомендовали, имя передавалось, если ссылку открыть в отдельной странице.

Ссылки формировать на форму умею, только в этом случае название товара не вписывается.

Код
index.php?option=com_aicontactsafe&view=message&layout=message&pf=5?tmpl=myform&product_name=<?php echo $product_name?>
Так тоже не работает

« Последнее редактирование: 10.12.2012, 20:46:38 от kreolka_8 »
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #17 : 10.12.2012, 20:47:36 »
index.php?option=com_aicontactsafe&view=message&layout=message&pf=5?tmpl=myform&product_name=<?php echo $product_name?>
Выделил жирным ошибку, там должно быть &
И куда название товара должно вписываться?
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #18 : 10.12.2012, 20:52:43 »
Выделил жирным ошибку, там должно быть &
И куда название товара должно вписываться?
И без ошибки пробовала.

myform.php

Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<html>
<head>
<jdoc:include type="head" />
</head>
<body>
<?php
$product_name = JRequest::getVar('product_name');
$text_to_be_parsed = '{aicontactsafeform pf=5|use_css=0|use_ajax=0|aics_prod_name='.$product_name.'}';
echo JHTML::_('content.prepare',$text_to_be_parsed);
?>
</body>
</html>

Ссылка
Код
<a class="jcepopup" href="index.php?option=com_aicontactsafe&view=message&layout=message&pf=5&tmpl=myform&product_name=<?php echo $product_name?>" title="Заказать обратный звонок" rel="width[450];height[500]" style="color: #ff6600"><span style="color: #ff6600;border-bottom: 1px dashed;font-size: 14px;">Купить в 1 Клик</span></a>

Собственно в aics_prod_name и должно передаваться.

По ссылке, которую вы отругали, заполнялась форма, но при открытии в отдельной странице. В Lightbox не выводилось, только главная страница.
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #19 : 10.12.2012, 20:59:47 »
Ок, теперь попробуйте заменить
код файла myform.php
на
Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<html>
<head>
<jdoc:include type="head" />
</head>
<body>
<?php
$aics_prod_name = JRequest::getVar('product_name');
?>
<jdoc:include type="message" />
        <jdoc:include type="component" />
</body>
</html>
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #20 : 10.12.2012, 21:09:25 »
К сожалению без изменений.
Вот удивительно, как же поле заполнялось при
Код
index.php?tmpl=myform&product_name=<?php echo $product_name?>

но если открыть в фоновой вкладке.
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #21 : 10.12.2012, 21:18:55 »
А давайте посмотри передается ли вообще переменная
Замените
Код
$aics_prod_name = JRequest::getVar('product_name');
на
Код
$aics_prod_name = JRequest::getVar('product_name');
echo $aics_prod_name;
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #22 : 10.12.2012, 21:20:53 »
Сейчас попробую

Написала пока свои попытки:

Цитировать
Тут явно ошибка в ссылке на форму.
Вернула содержание файла myform.php на прежнее.
Ссылка
Код
index.php?option=com_aicontactsafe&view=message&layout=message&pf=5&tmpl=myform&product_name=<?php echo $product_name?>
напрямую открывает в Lightbox форму, но не заполняет её, а если эту же ссылке открыть в новой странице, то форма заполняется.
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #23 : 10.12.2012, 21:25:11 »
Опять же при линке Lightbox форма не заполняется, а при открытии на отдельной странице, имя прописывается вверху окна формы.
http://www.deepvvater.com/internet-magazin/details/8132/245.html
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #24 : 10.12.2012, 21:29:07 »
Вот она проблема-то, только что хотел попросить ссылку на сайт, у вас ссылка Неправильно формируется почему-то http://www.deepvvater.com/internet-magazin/details/8132/index.php?option=com_aicontactsafe&view=message&layout=message&pf=5&tmpl=myform&product_name=%D0%A0%D0%B0%D0%B4%D0%B8%D0%B0%D1%82%D0%BE%D1%80%20%D1%87%D1%83%D0%B3%D1%83%D0%BD%D0%BD%D1%8B%D0%B9%20Konner%20%D0%9C%D0%BE%D0%B4%D0%B5%D1%80%D0%BD%20500%20%28100%29%20%D1%81%20%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%BC
internet-magazin/details/8132/ - вот этого не должно быть
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #25 : 10.12.2012, 21:31:09 »
Попробуйте такую ссылку
Код
<a href="/index.php?option=com_aicontactsafe&view=message&layout=message&pf=5&tmpl=myform&product_name=<?php echo $product_name?>">Купить в один клик</a>
либо абсолютную
Код
<a href="http://www.deepvvater.com/index.php?option=com_aicontactsafe&view=message&layout=message&pf=5&tmpl=myform&product_name=<?php echo $product_name?>">Купить в один клик</a>
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #26 : 10.12.2012, 21:32:02 »
internet-magazin -  С этой страницы начинается интернет-магазин и для него свой шаблон.
/details/8132/ - это router.php  >:(

Пробую
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #27 : 10.12.2012, 21:42:41 »
Все я понял в чем проблема, виноват тут JCE плагин, он подставляет другой шаблон &tmpl=component
То есть скопируйте код из myform.php в component.php
и ссылку можно делать такого вида
Код
<a href="http://www.deepvvater.com/index.php?option=com_aicontactsafe&view=message&layout=message&pf=5&product_name=<?php echo $product_name?>">Купить в один клик</a>
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #28 : 10.12.2012, 21:51:09 »
Да-да! Ура!  yes!
 :D +1
Низкий поклон
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Модуль aicontactsafe во всплывающем окне
« Ответ #29 : 11.12.2012, 15:01:19 »
Заметила такую проблему. Теперь файл component.php такого вида:
Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<html>
<head>
<jdoc:include type="head" />
</head>
<body>
<?php
$juribase = str_replace ("www.","", JURI::base());
$url_for_mail = $juribase.'index.php?page=shop.product_details&product_id='.$product_id.'&flypage='.$flypage.'&category_id='.$category_id.'&option=com_virtuemart&Itemid='.$Itemid;
$product_name = JRequest::getVar('product_name');
$text_to_be_parsed = '{aicontactsafeform pf=5|use_css=1|use_ajax=1|aics_prod_url='.$url_for_mail.'|aics_prod_name='.$product_name.'}';
echo JHTML::_('content.prepare',$text_to_be_parsed);?>
</body>
</html>

У  меня есть ещё форма "Заказать обратный звонок". Хоть там и ссылка на форму правильная, но выводится теперь только "Купить в 1 клик"

Если добавить  
Код
<jdoc:include type="component" />

то выводятся 2 формы по очереди.

Может можно как то прописать условие на вывод разных форм?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

aiContactSafe 2.0.19 RUS - компонент для создания формы обратно

Автор ЗЛОЙ на всех

Ответов: 175
Просмотров: 113004
Последний ответ 05.07.2019, 13:18:19
от Simba
AiContactSafe при установке все вкладки пустые

Автор lannik

Ответов: 0
Просмотров: 2871
Последний ответ 09.01.2017, 16:27:27
от lannik
Проблема с aiContactSafe ссылка для перенаправления не работает

Автор alixsjr

Ответов: 0
Просмотров: 3154
Последний ответ 09.12.2016, 17:53:41
от alixsjr
[Решено] Форма обратной связи как всплывающий модуль?

Автор Лена)

Ответов: 11
Просмотров: 23021
Последний ответ 07.10.2015, 12:52:25
от dennjor
Странное поведение aiContactSafe 2.0.16 beta20

Автор nikstorm

Ответов: 0
Просмотров: 3538
Последний ответ 12.09.2015, 02:22:44
от nikstorm