14.01.2016, 14:01
|
Аспирант
|
|
Регистрация: 29.01.2015
Сообщений: 81
|
|
Вставить контактную форму в jquery.prettyPhoto.js
Всем привет!
Хотел вставить контактную форму в файл js, сама форма вставляется кодом - <?php echo do_shortcode('[contact-form-7 id="2" title="cf"]'); ?>
Когда вставляешь код, перестает работать плагин, который открывает лайтбокс. Подскажите пожалуйста как правильно вставлять php код в js файл?
Вот кусок кода куда нужно вставить форму
'<div class="pp_pic_holder"> <div class="ppt"> </div> <div class="pp_content_container"> <a class="pp_close" href="#">CloseprettyPhoto</a> <div class="pp_content"> <div class="pp_loaderIcon"></div> <div class="pp_fade"> <a href="#" class="pp_expand" title="Expand the image">Expand</a> <div class="pp_hoverContainer"> <a class="pp_next" href="#">next</a> <a class="pp_previous" href="#">previous</a> </div> <div id="pp_full_res"></div> <div class="pp_details"> <div class="pp_nav"> <a href="#" class="pp_arrow_previous">Previous</a> <p class="currentTextHolder">0/0</p> <a href="#" class="pp_arrow_next">Next</a> </div> <p class="pp_description"></p> </div> </div> </div> </div> </div> <div class="pp_overlay"></div>',gallery_markup:'<div class="pp_gallery"> <a href="#" class="pp_arrow_previous">Previous</a> <div> <ul> {gallery} </ul> </div> <a href="#" class="pp_arrow_next">Next</a> </div>'
|
|
14.01.2016, 14:14
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Проверить что возвращает функция do_shortcode, то есть итоговый код приведенный после вставки. Возможно что кавычки не экранируются.
PS. Сразу, чтобы не томить - вы собираетесь изменить непосредственно код плагина, пусть все удачно вставлено, с чего вы решили что ваша форма будет удачно отображена в слайдере?.
В слайдер можно вставлять любой контент, но через iframe или div, которые описываются все теми же ссылками как и фото, код плагина для этого изменять не требуется. В документации же есть описание.
Последний раз редактировалось laimas, 14.01.2016 в 14:58.
|
|
14.01.2016, 14:57
|
Аспирант
|
|
Регистрация: 29.01.2015
Сообщений: 81
|
|
не получается посмотреть, т.к. не включается плагин, при нажатии на кнопку
|
|
14.01.2016, 15:00
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от maximamus
|
не получается посмотреть
|
Да я и ждать не стал, написал постскриптум.
|
|
14.01.2016, 15:13
|
Аспирант
|
|
Регистрация: 29.01.2015
Сообщений: 81
|
|
вставить то можно, только я хотел сделать каталог товаров и каждый раз вставлять контактную форму как то не особо, а так бы она была там по дефолду
и еще один момент, таким же методом я вставил еще в хедер кнопку - Оставить заявку, когда нажимаешь, всплывает окно, там форма, когда нажимаешь на кнопку отправки, перезагружается страница, когда опять нажимаешь на - Оставить заявку видно, что сообщение отправлено
Как можно сделать, что бы страница не перезагружалась при нажатии на отправку?
ну и первый вопрос тоже актуален
|
|
14.01.2016, 15:41
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Простой вставкой формы в код плагина не обойтись, не будет она работать, собственно сам плагин и не работает уже, конечно, с учетом того, что вставлено корректно. С учетом того, что плагин может загружать любой контент, что мешает в этот контент помещать фото товара с формой?
Чтобы не перегружалась страница - Ajax.
Последний раз редактировалось laimas, 14.01.2016 в 15:43.
|
|
14.01.2016, 16:10
|
Аспирант
|
|
Регистрация: 29.01.2015
Сообщений: 81
|
|
Хотел сразу делать, что бы руками вставлять в контент и товар и форму связи, но, какая то интересная тема у меня попалась, ну или же "косяк" Visual Composer'а скорее всего, когда вставляешь шорт код формы, он и отображается шоркодом, а не форму грузит, потому и решил вставить напрямую шорткод формы в плагин.
А что имели ввиду под ajax'ом? как реализовать не подскажите?
|
|
14.01.2016, 16:27
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от maximamus
|
что бы руками вставлять в контент и товар и форму связи
|
Даже не представляю себе как это будет выглядеть в контексте каталога товаров, не утомительно будет?
Есть скрипты, есть шаблонизаторы различные, собственно и свой легкий сугубо под эту задачу написать несложно, это их забота, руками то чего?
Останется по запросу клиента отдать контент - картинку запрашиваемого товара, форму, и исполнить песню по заявке, если надо, согласно переменных в шаблоне.
Есть ведь слайдеры куда более серьезные по сравнению prettyPhoto по части возможностей вывода различного контента да еще и с обратной связью, то бишь сервером.
Сообщение от maximamus
|
А что имели ввиду под ajax'ом?
|
Ajax
|
|
14.01.2016, 16:52
|
Аспирант
|
|
Регистрация: 29.01.2015
Сообщений: 81
|
|
ничего утомительного в этом не вижу, как на меня, то и проще
<a href="#1" rel="prettyPhoto">1</a>
<div id="1" class="hide">
<p>
Text
</p>
</div>
в таком виде идет каждый блок, а внизу по дефолду в открывающемся блоке будет контактная форма
Написать не сложно... - ) не программист я и тяжко мне в этом случае(
А какие есть еще плагины? интересуют такие что бы в лайт боксе открывались и можно было вставить любой контент и желательно что бы вставлялись не шоркодами, а то тема моя не воспримет их
Ну что такое ajax, то я знаю) пришлось столкнутся, а вот как его докрутить в форму, то что то представления даже нет
|
|
14.01.2016, 17:21
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от maximamus
|
ничего утомительного в этом не вижу, как на меня, то и проще
|
Товары, это идентификаторы в базе, и картинки их, и их контент, все это связано идентификатором. Форма же одна на всех, но если это форма обратной связи, и пусть она каким-то боком сообщает, что интерес именно по товару А, значит и форму нужно связать с товаром, чтобы при отправке ее сервер знал о чем речь. Или не так?
А если так, то это делается не руками, а как раз серверным языком - отдается контент запрашиваемого слайдером товара, по ID которое передал клиент. Сервер получает данные о товаре из базы, подключает шаблон:
<a href="#d<?=$id?>" rel="prettyPhoto"><?=$name?></a>
<div id="d<?=$id?>" class="hide">
<p><?=$content?></p>
</div>
<?=include 'path/form.php'?>
В файле шаблона формы есть скрытое поле в которое также подставляется $id - идентификатор товара в базе. Когда ковыряются руками, велика вероятность ошибок и конфликтов.
Насчет плагинов - спросить у Гугла, у кого же еще, например здесь посмотреть, и еще много всяких ресурсов со списками на плагины.
Ajax, коли используется JQ, посмотреть тут, там и описание, и примеры есть. Попробуйте, не будет получаться - код в студию, помогут.
Последний раз редактировалось laimas, 14.01.2016 в 17:27.
|
|
|
|