Форум русской поддержки Joomla!® CMS
06.12.2016, 10:07:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4   Вниз
  Добавить закладку  |  Печать  
Автор

функция "Задать вопрос по этому товару"

 (Прочитано 23141 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vilena26
Осваиваюсь на форуме
***

Репутация: +14/-0
Offline Offline

Пол: Женский
Сообщений: 87


« : 24.03.2011, 15:18:47 »

Можно ли сделать и как, функцию как в Виртуемарте "Задайте вопрос по этому товару" ?
Записан
 
victorantoniak
Moderator
*****

Репутация: +175/-2
Offline Offline

Пол: Мужской
Сообщений: 1506

JoomShopping Team


« Ответ #1 : 24.03.2011, 15:56:39 »

Будет позже (время неизвестно)
Записан
dragon4x4
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Сообщений: 196


« Ответ #2 : 27.03.2011, 01:18:16 »

может кто решал вопорос с формой запроса к примеру другим путем... не знаю как решить, но тоже есть ситуация, когда група товара с очень разным нестабильным ценником, который нету смысла публиковать.... можно типа дать линк на пдф с ценником... но как клиенту запрос сделать ? через форму в контактах копируя наименование и код товара ? неудобно... или в карточке товара какую форму подключить можно ... ? 
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #3 : 26.02.2012, 11:02:42 »

здравствуйте, прошел год с создания вопроса
так появилась ли эта функция?
Записан
Geetler
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Сообщений: 45


« Ответ #4 : 26.02.2012, 14:18:32 »

здравствуйте, прошел год с создания вопроса
так появилась ли эта функция?
http://www.webdesigner-profi.de/joomla-webdesign/shop/addons/ask-question-about-product.html?lang=en
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8805


http://n*****n.com


« Ответ #5 : 26.02.2012, 17:34:10 »

хммм... Ну это уже как то даже не смешно...
Это же база в любом магазине !
Записан
N.Nick
Давно я тут
****

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 234



« Ответ #6 : 27.02.2012, 00:50:04 »

ммм... да, согласен 15 Евро за такую функцию, может у них это нормально, но для нас нереально.
Записан
fliginskih
Осваиваюсь на форуме
***

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 197



« Ответ #7 : 02.03.2012, 00:43:05 »

Ребята. Это делается же элементарно.
Просто вшиваем в шаблон карточки товара форму на событии со скрытыми полями.
У меня на сайте смотрите пример в любом товаре, на пример (http://nbc12.ru/katalog/notebook/apple-macbook-pro-md322rsa).
Кликаем там на кнопку "Заказать со склада"
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8805


http://n*****n.com


« Ответ #8 : 02.03.2012, 10:57:45 »

Та ессно, что все элементарно.
Но чтобы сделать нужно время. Если сделано и не жалко потраченого времени. Положите код Wink
А лучше оформить аддоном/плагином Wink

А вообще, это должна(!) быть базовая функция. ИМХО.
Как и CAPTCHA для отзывов , пусть хотя бы поддрежка встроенной РеCAPTCHA от Жумлы...
Записан
kurandin
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Сообщений: 161



« Ответ #9 : 03.03.2012, 12:51:06 »

Ребята. Это делается же элементарно.
Просто вшиваем в шаблон карточки товара форму на событии со скрытыми полями.
У меня на сайте смотрите пример в любом товаре, на пример (http://nbc12.ru/katalog/notebook/apple-macbook-pro-md322rsa).
Кликаем там на кнопку "Заказать со склада"

Пожалуйста, раскрой как ты это сделал!
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8805


http://n*****n.com


« Ответ #10 : 03.03.2012, 13:47:15 »

Вот тут одно из решений
Дальше все в Ваших руках и фантазии.
Записан
26web
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #11 : 31.03.2012, 21:05:38 »

 ! Ребята, кто делал так, подскажите пожалуйста на примере который указал nevigen. Скачал по ссылке исходник. Что и куда надо поместить, какой код надо указать в product_default.php? Пытаюсь разобраться ничего не получается.
Записан
26web
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 13


« Ответ #12 : 05.04.2012, 20:54:30 »

Ну че никто не знает? или не хочет делиться опытом?
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8805


http://n*****n.com


« Ответ #13 : 05.04.2012, 22:05:22 »

Все говорят, но что то никто не хочет делать. Azn
Записан
fliginskih
Осваиваюсь на форуме
***

Репутация: +15/-1
Offline Offline

Пол: Мужской
Сообщений: 197



« Ответ #14 : 06.04.2012, 03:21:27 »

то что тут можно написать написано уже в других местах. так что ждать не обязательно
Записан
Pups-am
Осваиваюсь на форуме
***

Репутация: +12/-0
Offline Offline

Сообщений: 28


« Ответ #15 : 10.04.2012, 12:28:40 »

Вот тут одно из решений
Дальше все в Ваших руках и фантазии.

Адаптировал под ЖШ 3.5.1

В файле ...\components\com_jshopping\templates\default\product_default.php добавляем ссылку
Код:
<a href="#contactForm">Задать вопрос</a>

например после:
Код:
    <div class = "jshop_prod_description">
        <?php print $this->product->description; ?>
    </div>     

Далее в конце кода добавляем скрипт и форму:

Код:
<script>
var messageDelay = 2000;
jQuery( init );

function init() {
jQuery('#contactForm').hide().submit( submitForm ).addClass( 'positioned' );
jQuery('a[href="#contactForm"]').click( function() {
jQuery('#window').fadeTo( 'slow', .8 );
jQuery('#contactForm').fadeIn( 'slow', function() {
jQuery('#senderName').focus();
} )
return false;
} );
jQuery('#cancel').click( function() {
jQuery('#contactForm').fadeOut();
jQuery('#window').fadeOut();
} );
jQuery('#contactForm').keydown( function( event ) {
if ( event.which == 27 ) {
jQuery('#contactForm').fadeOut();
jQuery('#window').fadeOut();
}
} );
}

function submitForm() {
var contactForm = jQuery(this);
if ( !jQuery('#senderName').val() || !jQuery('#senderEmail').val() || !jQuery('#message').val() ) {
jQuery('#incompleteMessage').fadeIn().delay(messageDelay).fadeOut();
contactForm.fadeOut().delay(messageDelay).fadeIn();
} else {
jQuery('#sendingMessage').fadeIn();
contactForm.fadeOut();
jQuery.ajax( {
url: contactForm.attr( 'action' ) + "?ajax=true",
type: contactForm.attr( 'method' ),
data: contactForm.serialize(),
success: submitFinished
} );
}
return false;
}

function submitFinished( response ) {
response = jQuery.trim( response );
jQuery('#sendingMessage').fadeOut();
if ( response == "success" ) {
jQuery('#successMessage').fadeIn().delay(messageDelay).fadeOut();
jQuery('#senderName').val( "" );
jQuery('#senderEmail').val( "" );
jQuery('#message').val( "" );
jQuery('#window').delay(messageDelay+510).fadeOut();
} else {
jQuery('#failureMessage').fadeIn().delay(messageDelay).fadeOut();
jQuery('#contactForm').delay(messageDelay+500).fadeIn();
jQuery('#window').delay(messageDelay+510).fadeOut();
}
}
</script>

<form id="contactForm" action="/processForm.php" method="post">
  <h2>Задать вопрос</h2>
  <ul>
    <li>
      <label for="senderName">Имя</label>
      <input type="text" name="senderName" id="senderName" placeholder="Введите ваше имя" required="required" maxlength="40" />
    </li>
    <li>
      <label for="senderEmail">E-mail</label>
      <input type="email" name="senderEmail" id="senderEmail" placeholder="Введите ваш e-mail адрес" required="required" maxlength="50" />
    </li>
    <li>
      <label for="message" style="padding-top: .5em;">Ваш вопрос</label>
      <textarea name="message" id="message" placeholder="Ваш вопрос" required="required" cols="80" rows="10" maxlength="10000"></textarea>
    </li>
  </ul>
   <input name="url" style="display:none" required="required" value="<?php echo "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];?>"/>
   <input name="urlName" style="display:none" required="required" value="<?php print $this->product->name?>"/>

  <div id="formButtons">
    <input type="submit" id="sendMessage" name="sendMessage" value="Отправить" />
    <input type="button" id="cancel" name="cancel" value="Отмена" />
  </div>
</form>
<div id="sendingMessage" class="statusMessage"><p>Отправка сообщения. Пожалуйста подождите...</p></div>
<div id="successMessage" class="statusMessage"><p>Спасибо за ваш вопрос! Мы свяжемся с Вами в ближайшее время.</p></div>
<div id="failureMessage" class="statusMessage"><p>Возникли неполадки. Попробуйте снова.</p></div>
<div id="incompleteMessage" class="statusMessage"><p>Пожалуйста, заполните все поля формы перед отправкой.</p></div>
<div id="sendingMessage" class="statusMessage"><p>Отправка сообщений. Пожалуйста, подождите ...</p></div>
<div id="successMessage" class="statusMessage"><p>Спасибо за отправку ваших сообщений! Мы свяжемся с Вами в ближайшее время</p></div>
<div id="failureMessage" class="statusMessage"><p>Возникла проблема с отправкой сообщения. Пожалуйста, попробуйте еще раз.</p></div>
<div id="incompleteMessage" class="statusMessage"><p>Пожалуйста, заполните все поля формы перед отправкой.</p></div>
<div id="window"></div>

Дописываем ЦСС код в ....\components\com_jshopping\css\default.css

Код:
#window {
width:100%;
height:100%;
position:fixed;
top:0;
left:0;
background-color:#000;
display:none;
z-index:9000;
}
/* Add curved borders to various elements */
#contactForm, .statusMessage, input[type="submit"], input[type="button"] {
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px; 
  border-radius: 10px;
}
/* Style for the contact form and status messages */
#contactForm, .statusMessage {
  color: #666;
  background-color: #ebedf2;
  background: -webkit-gradient( linear, left bottom, left top, color-stop(0,#dfe1e5), color-stop(1, #ebedf2) );
  background: -moz-linear-gradient( center bottom, #dfe1e5 0%, #ebedf2 100% ); 
  border: 1px solid #aaa;
  -moz-box-shadow: 0 0 1em rgba(0, 0, 0, .5);
  -webkit-box-shadow: 0 0 1em rgba(0, 0, 0, .5);
  box-shadow: 0 0 1em rgba(0, 0, 0, .5);
}
/* The form dimensions */
#contactForm {
  width: 40em;
  height: 33em;
  padding: 0 1.5em 1.5em 1.5em;
  margin: 0 auto;
width:331px;
height:350px;
padding: 0 1.5em 1.5em 1.5em;
margin: 0 auto;
z-index:9999;
}
/* Position the form in the middle of the window (if JavaScript is enabled) */
#contactForm.positioned {
  position: fixed;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin-top:auto;
  margin-bottom:auto;
  background-color:#fff;
}
/* Dimensions and position of the status messages */
.statusMessage {
  display: none;
  margin: auto;
  width: 30em;
  height: 2em;
  padding: 1.5em;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.statusMessage p {
  text-align: center;
  margin: 0;
  padding: 0;
}
/* The header at the top of the form */
#contactForm h2 {
  font-size: 2em;
  font-style: italic;
  letter-spacing: .05em;
  margin: 0 0 1em -.75em;
  padding: 1em;
  width: 19.5em; 
  color: #aeb6aa;
  background: #dfe0e5 url('images/stamp.jpg') no-repeat 15em -3em; /* http://morguefile.com/archive/display/606433 */
  border-bottom: 1px solid #aaa;
  -moz-border-radius: 10px 10px 0 0;
  -webkit-border-radius: 10px 10px 0 0; 
  border-radius: 10px 10px 0 0;
}
/* Give form elements consistent margin, padding and line height */
#contactForm ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#contactForm ul li {
  margin: .9em 0 0 0;
  padding: 0;
}
#contactForm input, #contactForm label {
  line-height: 1em;
}
/* The field labels */
label {
  display: block;
  float: left;
  clear: left;
  text-align: right;
  width: 28%;
  padding: .4em 0 0 0;
  margin: .15em .5em 0 0;
  font-weight: bold;
}
/* The fields */
input, textarea {
  display: block;
  margin: 0;
  padding: .4em;
  width: 67%;
  font-family: "Georgia", serif;
  font-size: 1em;
  border: 1px solid #aaa;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;   
  border-radius: 5px;
  -moz-box-shadow: rgba(0,0,0,.2) 0 1px 4px inset;
  -webkit-box-shadow: rgba(0,0,0,.2) 0 1px 4px inset;
  box-shadow: rgba(0,0,0,.2) 0 1px 4px inset;
  background: #fff;
}
textarea {
  height: 13em;
  line-height: 1.5em;
  resize: none;
}
/* Place a border around focused fields, and hide the inner shadow */
#contactForm *:focus {
  border: 1px solid #66f;
  outline: none;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}
/* Display correctly filled-in fields with a green background */
input:valid, textarea:valid {
  background: #dfd;
}
/* The Send and Cancel buttons */
input[type="submit"], input[type="button"] {
  float: right;
  margin: 2em 1em 0 1em;
  width: 10em;
  padding: .5em;
  border: 1px solid #666;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px; 
  border-radius: 10px;
  -moz-box-shadow: 0 0 .5em rgba(0, 0, 0, .8);
  -webkit-box-shadow: 0 0 .5em rgba(0, 0, 0, .8);
  box-shadow: 0 0 .5em rgba(0, 0, 0, .8);
  color: #fff;
  background: #0a0;
  font-size: 1em;
  line-height: 1em;
  font-weight: bold;
  opacity: .7;
  -webkit-appearance: none;
  -moz-transition: opacity .5s;
  -webkit-transition: opacity .5s;
  -o-transition: opacity .5s;
  transition: opacity .5s;
}
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="button"]:hover,
input[type="button"]:active {
  cursor: pointer;
  opacity: 1;
}
input[type="submit"]:active, input[type="button"]:active {
  color: #333;
  background: #eee;
  -moz-box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset;
  -webkit-box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset;
  box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset;
}
input[type="button"] {
  background: #f33;
}
/* Header/footer boxes */
.wideBox {
  clear: both;
  text-align: center;
  margin: 70px;
  padding: 10px;
  background: #ebedf2;
  border: 1px solid #333;
}
.wideBox h1 {
  font-weight: bold;
  margin: 20px;
  color: #666;
  font-size: 1.5em;
}

Создаем файл processForm.php и сохраняем его в корень сайта

Код:
<?php
// Определение констант
define( "RECIPIENT_NAME", "John Smith" ); //Кому адресовано письмо
define( "RECIPIENT_EMAIL", "john@example.com" ); //Куда отправить письмо
define( "EMAIL_SUBJECT", "Visitor Message" ); //Тема письма

// Считывание данных из формы
$success = false;
$senderName = $_POST['senderName'];
$senderEmail = isset( $_POST['senderEmail'] )? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
$message = isset( $_POST['message'] )? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";
$url = $_POST['url'];
$urlName = $_POST['urlName'];

// Проверка заполнения полей
if ( $senderName && $senderEmail && $message ) {
  $recipient = '=?utf-8?B?'.base64_encode(RECIPIENT_NAME).'?=' . " <" . RECIPIENT_EMAIL . ">";
  $headers = "From: " . '=?utf-8?B?'.base64_encode($senderName).'?=' . " <" . $senderEmail . ">";
  $subject = '=?utf-8?B?'.base64_encode(EMAIL_SUBJECT).'?=';
  $message = "
На странице: $url

Задали вопрос по $urlName

Спрашивает: $senderName

E mail: $senderEmail

Вопрос: $message";

  $success = mail( $recipient, $subject, $message, $headers );
}

// Возвращение ответа в браузер
if ( isset($_GET["ajax"]) ) {
  echo $success ? "success" : "error";
} else {
?>
<html>
  <head>
    <title>Thanks!</title>
  </head>
  <body>
  <?php if ( $success ) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>
  <?php if ( !$success ) echo "<p>There was a problem sending your message. Please try again.</p>" ?>
  <p>Click your browser's Back button to return to the page.</p>
  </body>
</html>
<?php
}
?>

Все! ЦСС оформляем сами. Кому как нравится.
« Последнее редактирование: 12.04.2012, 11:49:47 от Pups-am » Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8805


http://n*****n.com


« Ответ #16 : 10.04.2012, 12:46:37 »

Красавчик ! (дал + в репу)
Тока вот бегло пройдясь по коду не увидел где передается ссылка н сам товар и его нейм ?
Просто сложновато будет определить по какому товару то вопрос Azn
Наверное было бы логично добавить в тело письма Wink
« Последнее редактирование: 10.04.2012, 12:49:48 от nevigen » Записан
Pups-am
Осваиваюсь на форуме
***

Репутация: +12/-0
Offline Offline

Сообщений: 28


« Ответ #17 : 10.04.2012, 13:21:00 »

Добавил. Должно работать.
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8805


http://n*****n.com


« Ответ #18 : 10.04.2012, 14:23:52 »

А вот те еще раз в репу Wink

Надеюсь она у тя болеть будет.. потому как многие ждали.
Добавлю в FAQ решение
Записан
perezxxx
Захожу иногда
**

Репутация: +0/-1
Offline Offline

Сообщений: 12


« Ответ #19 : 12.04.2012, 23:01:11 »

Работает, только письмо с описанием приходит в крякозябрах.
Что сделать в UTF-8?

ладно, с кодировкой разобрался) А что за stamp.jpg в CSS прописан?
« Последнее редактирование: 13.04.2012, 10:56:13 от perezxxx » Записан
depko13
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 26



« Ответ #20 : 12.04.2012, 23:32:07 »

Добавил. Должно работать.
Мир на таких альтистах и держится. С меня небольшой донат с первой прибыли.
Записан
Pups-am
Осваиваюсь на форуме
***

Репутация: +12/-0
Offline Offline

Сообщений: 28


« Ответ #21 : 13.04.2012, 17:19:41 »

Работает, только письмо с описанием приходит в крякозябрах.
Что сделать в UTF-8?

ладно, с кодировкой разобрался) А что за stamp.jpg в CSS прописан?

Кодировка в обработчике прописана для UTF-8.

В ЦСС изменил только body на window (для корректной работы фона), а в остальном ЦСС как был и пишется индивидуально. Сравните какие id использует скрипт и оставьте их, а остальное можно удалить и написать свой ЦСС.
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #22 : 14.04.2012, 09:56:31 »

Большое спасибо за решение
+ в репу
но с кодировкой так и не разобрался Sad
письмо приходит не в той кодировке
« Последнее редактирование: 14.04.2012, 10:46:31 от злобный ламер » Записан
Pups-am
Осваиваюсь на форуме
***

Репутация: +12/-0
Offline Offline

Сообщений: 28


« Ответ #23 : 15.04.2012, 12:50:34 »

1. Кодировка у сайта какая?
2. Где смотрите почту? (какая программа?)
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #24 : 16.04.2012, 06:52:17 »

1. Кодировка у сайта какая?
2. Где смотрите почту? (какая программа?)

1. Кодировка базы данных    utf8_general_ci
2. mail.ru - в браузере
Записан
Pups-am
Осваиваюсь на форуме
***

Репутация: +12/-0
Offline Offline

Сообщений: 28


« Ответ #25 : 16.04.2012, 09:56:34 »

Проверил. На mail.ru приходит в нормальном виде.
Между тегами <head> на сайте кодировка должна стоять <meta content="text/html; charset=utf-8" http-equiv="content-type">
Если другая, то нужна адаптация скрипта под другую кодировку.
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #26 : 16.04.2012, 21:19:24 »

Проверил. На mail.ru приходит в нормальном виде.
Между тегами <head> на сайте кодировка должна стоять <meta content="text/html; charset=utf-8" http-equiv="content-type">
Если другая, то нужна адаптация скрипта под другую кодировку.
у меня
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Записан
Pups-am
Осваиваюсь на форуме
***

Репутация: +12/-0
Offline Offline

Сообщений: 28


« Ответ #27 : 17.04.2012, 15:47:31 »

Должно все работать. Прорвете скрипт отправки писем на наличие ошибок.
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #28 : 17.04.2012, 20:50:59 »

Должно все работать. Прорвете скрипт отправки писем на наличие ошибок.
все удалил и поставил снова - все работает - в чем был глюк не понял Azn
Еще раз спасибо
Записан
Alienoff
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 184


« Ответ #29 : 19.04.2012, 19:16:19 »

А если письмо не приходит ни админу, ни клиенту, что делать? Всё по инструкции залито.
Записан
Страниц: [1] 2 3 4   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet