Всем доброго время суток. Вопрос наверное больше не по модулю Отзывы (testimonials), а к знатокам знающих AJAX. Хочу сделать, чтобы при нажатии на Оставить отзыв (на странице отзывов /index.php?route=product/testimonial) всплывало окно для оставления отзывов с подгрузкой полей для оставления отзыва, что на другой странице (index.php?route=product/isitestimonial) Помогите, пожалуйста, так как в аяксе не разбираюсь, а других решений невстричал
А если с помощью фенси бокс сделать. Вот например в шаблоне модуля отзывов вконец сам вставить ето Код: <script type="text/javascript"><!-- $('.fancybox').fancybox({autoDimensions: false, autoScale: false,width:500,height:'auto'}); //--></script> А ссылку Оставить отзыв сделать так <a class="fancybox" href="index.php?route=product/testimonial"> Вот смотри как получится
Помогаю, держи , скрипт стандартен как подгружать нужный контент разбирайся сам Скрипт для создания всплывающих окон на jQuery. В демонстрации три примера в различных стиля. Но в общем принцип один – затемняется экран по средине окна браузера появляется диалоговое окно. Html код достаточно простой: <h1><a href="#" rel="popuprel" class="popup">Ссылка на первое окно</a></h1> <h1><a href="#" rel="popuprel2" class="popup">Ссылка на второе окно</a></h1> <h1><a href="#" rel="popuprel3" class="popup">Ссылка на третье окно</a></h1> <div class="popupbox" id="popuprel"> Содержание первого окна </div> <div class="popupbox1" id="popuprel2"> Содержание второго окна </div> <div class="popupbox2" id="popuprel3"> Содержание третьего окна </div> Далее запустите jQuery библиотеку и плагин: <script type="text/javascript" src="jquery-1.2.6.min.js"></script> <script type="text/javascript" src="custom.js"></script> Скачать готовый пример
Yuriy_Z, спасибо но у меня colorbox и он стилизирован уже, может еще какой то вариант знаеш? --- добавлено: 3 апр 2013 в 19:57 --- marsrip, Если бы я знал как подгружать нужный блок я тогда и не просил помощи. Если так все просто покажи как на примере одного дива (окошка города или имени), ну а дальше понятно что разберусь marsrip, вопрос в том что там не простой текст, а php код что работает чрез контролер у которого другая страница а всплывающее на первой странице нужно
Так ты демо скачай и посмотри =) Код: <div class="popupbox" id="popuprel"> <div id="intabdiv"> <h2>ЗАГОЛОВОК ОКНА можно и без него</h2> // Заголовок можно убрать как и текст ниже, а в див прописать нужный код например обратней связи или нужной странички <p>Check out WebDesignersDesk for more tutorials</p> //это убрать и прописать код который надо подгрузить или страничку </div> </div> скачивай демку и там смотри ..... все же просто .....
Да просто в див запихни код из файла isitestimonial.tpl Примерно так Под кодом отображения отзывов прописываешь: <h1><a href="#" rel="entertestimonial" class="popup">Ссылка на первое окно</a></h1> <div class="popupbox" id="entertestimonial"> <div id="content"> <p style="padding-bottom: 4px; margin: 0px 20px 10px"><?php echo $text_conditions ?></p> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="testimonial"> <div align="center"> <table width="80%" align="center"> <tr> <td width="15%"><?php echo $entry_title ?></td> <td style="height: 40px;"> <input type="text" name="title" value="<?php echo $title; ?>" size=100 style="width: 99%;"/> <?php if ($error_title) { ?><span class="error"><?php echo $error_title; ?></span><?php } ?> </td> </tr> <tr> <td><span style="color: #FF0000; font-weight: bold;">* </span><?php echo $entry_enquiry ?></td> <td><textarea name="description" style="width: 99%;" rows="10"><?php echo $description; ?></textarea><br /> <?php if ($error_enquiry) { ?> <span class="error"><?php echo $error_enquiry; ?></span> <?php } ?></td> </tr> <tr> <td><?php echo $entry_name ?></td> <td style="height: 30px;"><input type="text" name="name" value="<?php echo $name; ?>" /> <?php if ($error_name) { ?><span class="error"><?php echo $error_name; ?></span><?php } ?> </td> </tr> <tr> <td><?php echo $entry_city ?></td> <td style="height: 30px;"><input type="text" name="city" value="<?php echo $city; ?>" /> </td> </tr> <tr> <td></td> <td style="text-align: center;"><br><?php echo $entry_rating; ?> <span><?php echo $entry_bad; ?></span> <input type="radio" name="rating" value="1" style="margin: 0;" <?php if ( $rating == 1 ) echo 'checked="checked"';?> /> <input type="radio" name="rating" value="2" style="margin: 0;" <?php if ( $rating == 2 ) echo 'checked="checked"';?> /> <input type="radio" name="rating" value="3" style="margin: 0;" <?php if ( $rating == 3 ) echo 'checked="checked"';?> /> <input type="radio" name="rating" value="4" style="margin: 0;" <?php if ( $rating == 4 ) echo 'checked="checked"';?> /> <input type="radio" name="rating" value="5" style="margin: 0;" <?php if ( $rating == 5 ) echo 'checked="checked"';?> /> <span><?php echo $entry_good; ?></span><br /><br> </td> </tr> <tr><td></td><td align="center"> <?php if ($error_captcha) { ?> <span class="error"><?php echo $error_captcha; ?></span> <?php } ?> <img src="index.php?route=information/contact/captcha"/> <br> <span style="color: #FF0000; font-weight: bold;">*</span> <?php echo $entry_captcha; ?><br> <input type="text" name="captcha" value="<?php echo $captcha; ?>" style="width: 10%;" /><br> </td></tr> </table> </div> <div style="text-align: right; margin-bottom: 20px; margin-right: 30px;"><a onclick="$('#testimonial').submit();" class="btn"><span><?php echo $button_continue; ?></span></a></div> </form> </div> </div> Библиотеки jQuery - jquery-1.2.6.min.js - или старше я думаю не принципиально - уже подгружена, а вот custom.js - нада прописать в header.tpl.... по идее должно заработать
Alexxcha, Вставил код с isitestimonial.tpl как я и предполагал, контролер testimonial.tpl не знает переменных. Код: Notice: Undefined variable: entry_name in /catalog/view/theme/default/template/product/testimonial.tpl on line 61 Notice: Undefined variable: error_name in /catalog/view/theme/default/template/product/testimonial.tpl on line 63 Notice: Undefined variable: entry_enquiry in /catalog/view/theme/default/template/product/testimonial.tpl on line 81* <b>Notice</b>: Undefined variable: description in <b>/catalog/view/theme/default/template/product/testimonial.tpl</b> on line <b>82</b> Notice: Undefined variable: error_enquiry in /catalog/view/theme/default/template/product/testimonial.tpl on line 84 Notice: Undefined variable: error_email in/catalog/view/theme/default/template/product/testimonial.tpl on line 91 Notice: Undefined variable: entry_rating in /catalog/view/theme/default/template/product/testimonial.tpl on line 97 Notice: Undefined variable: entry_bad in /catalog/view/theme/default/template/product/testimonial.tpl on line 97 Notice: Undefined variable: rating in /catalog/view/theme/default/template/product/testimonial.tpl on line 98 /> Notice: Undefined variable: rating in /catalog/view/theme/default/template/product/testimonial.tpl on line 100 /> Notice: Undefined variable: rating in /catalog/view/theme/default/template/product/testimonial.tpl on line 102 /> Notice: Undefined variable: rating in /catalog/view/theme/default/template/product/testimonial.tpl on line 104 /> Notice: Undefined variable: rating in /catalog/view/theme/default/template/product/testimonial.tpl on line 106 /> Notice: Undefined variable: entry_good in /catalog/view/theme/default/template/product/testimonial.tpl on line 107 Notice: Undefined variable: error_captcha in/catalog/view/theme/default/template/product/testimonial.tpl on line 111 Notice: Undefined variable: entry_captcha in /catalog/view/theme/default/template/product/testimonial.tpl on line 115* Как исправить?
Дак нет проблем, колорбокс аналогично, вот так: В шаблоне модуля в сам конец вставляеш ето Код: <script type="text/javascript"><!-- $('.colorbox').colorbox({ overlayClose: true, opacity: 0.5 }); //--></script> саму ссылку "Написать отзыв" делаеш так <a class="colorbox" rel="colorbox" href="<?php echo $isitesti; ?>"> Да и для красоты удали в файле шаблона ети строчки <?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?> и <?php echo $footer; ?>
Yuriy_Z, спапсибо, зделал как написал Alexxcha, но пришлось править контролер и много чего убирать, так как редиректит на страницу isitestimonia.если непроходим валидацую (пустое сообщение, капча). как убрать редирект в контролере при проверке количества знаков и капчи?
Я просто предположил что примерно так можно сделать, догадывался что придется много чего править А вообще сам тут озадачился вот чем - как сделать что бы при наведении на вкладку Отзывы - выпадающее меню - Читать отзывы - Написать отзыв.... Соответственно - при выборе - Читать отзыв - открывается вкладка с отзывами - при выборе написать отзыв - вкладка только с формой (совсем без отзывов...), видел как это реализовано в шаблоне - но шаблон html5 и с какими то своими операторами... в общем с наскока реализовать не получилось - сижу думаю...
Alexxcha, попробуй сделать табами, через жеквери например, а при загрузке страници, и отзывы и оставить будет на одной страницы только скрыватся. Получается как и я делал на одной странице, только через жеквери скрываеш дивы (выпадение)