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

vilena26

  • Захожу иногда
  • 95
  • 14 / 0
Можно ли сделать и как, функцию как в Виртуемарте "Задайте вопрос по этому товару" ?
*

victorantoniak

  • Moderator
  • 1572
  • 185 / 2
  • JoomShopping Team
Будет позже (время неизвестно)
*

dragon4x4

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

злобный ламер

  • Захожу иногда
  • 192
  • 2 / 0
здравствуйте, прошел год с создания вопроса
так появилась ли эта функция?
*

Geetler

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

nevigen

  • Moderator
  • 10431
  • 862 / 25
  • http://n*****n.com
хммм... Ну это уже как то даже не смешно...
Это же база в любом магазине !
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

N.Nick

  • Захожу иногда
  • 233
  • 5 / 0
ммм... да, согласен 15 Евро за такую функцию, может у них это нормально, но для нас нереально.
*

fliginskih

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

nevigen

  • Moderator
  • 10431
  • 862 / 25
  • http://n*****n.com
Та ессно, что все элементарно.
Но чтобы сделать нужно время. Если сделано и не жалко потраченого времени. Положите код ;)
А лучше оформить аддоном/плагином ;)

А вообще, это должна(!) быть базовая функция. ИМХО.
Как и CAPTCHA для отзывов , пусть хотя бы поддрежка встроенной РеCAPTCHA от Жумлы...
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kurandin

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

Пожалуйста, раскрой как ты это сделал!
*

nevigen

  • Moderator
  • 10431
  • 862 / 25
  • http://n*****n.com
Вот тут одно из решений
Дальше все в Ваших руках и фантазии.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

26web

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

26web

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Ну че никто не знает? или не хочет делиться опытом?
*

nevigen

  • Moderator
  • 10431
  • 862 / 25
  • http://n*****n.com
Все говорят, но что то никто не хочет делать. :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

fliginskih

  • Захожу иногда
  • 197
  • 15 / 1
то что тут можно написать написано уже в других местах. так что ждать не обязательно
*

Pups-am

  • Осваиваюсь на форуме
  • 29
  • 13 / 0
Вот тут одно из решений
Дальше все в Ваших руках и фантазии.

Адаптировал под ЖШ 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
  • 10431
  • 862 / 25
  • http://n*****n.com
Красавчик ! (дал + в репу)
Тока вот бегло пройдясь по коду не увидел где передается ссылка н сам товар и его нейм ?
Просто сложновато будет определить по какому товару то вопрос :)
Наверное было бы логично добавить в тело письма ;)
« Последнее редактирование: 10.04.2012, 12:49:48 от nevigen »
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Pups-am

  • Осваиваюсь на форуме
  • 29
  • 13 / 0
Добавил. Должно работать.
*

nevigen

  • Moderator
  • 10431
  • 862 / 25
  • http://n*****n.com
А вот те еще раз в репу ;)

Надеюсь она у тя болеть будет.. потому как многие ждали.
Добавлю в FAQ решение
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

perezxxx

  • Осваиваюсь на форуме
  • 11
  • 0 / 1
Работает, только письмо с описанием приходит в крякозябрах.
Что сделать в UTF-8?

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

depko13

  • Осваиваюсь на форуме
  • 26
  • 2 / 0
Добавил. Должно работать.
Мир на таких альтистах и держится. С меня небольшой донат с первой прибыли.
*

Pups-am

  • Осваиваюсь на форуме
  • 29
  • 13 / 0
Работает, только письмо с описанием приходит в крякозябрах.
Что сделать в UTF-8?

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

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

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

злобный ламер

  • Захожу иногда
  • 192
  • 2 / 0
Большое спасибо за решение
+ в репу
но с кодировкой так и не разобрался :(
письмо приходит не в той кодировке
« Последнее редактирование: 14.04.2012, 10:46:31 от злобный ламер »
*

Pups-am

  • Осваиваюсь на форуме
  • 29
  • 13 / 0
1. Кодировка у сайта какая?
2. Где смотрите почту? (какая программа?)
*

злобный ламер

  • Захожу иногда
  • 192
  • 2 / 0
1. Кодировка у сайта какая?
2. Где смотрите почту? (какая программа?)

1. Кодировка базы данных    utf8_general_ci
2. mail.ru - в браузере
*

Pups-am

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

злобный ламер

  • Захожу иногда
  • 192
  • 2 / 0
Проверил. На 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

  • Осваиваюсь на форуме
  • 29
  • 13 / 0
Должно все работать. Прорвете скрипт отправки писем на наличие ошибок.
*

злобный ламер

  • Захожу иногда
  • 192
  • 2 / 0
Должно все работать. Прорвете скрипт отправки писем на наличие ошибок.
все удалил и поставил снова - все работает - в чем был глюк не понял :)
Еще раз спасибо
*

Alienoff

  • Захожу иногда
  • 186
  • 0 / 0
А если письмо не приходит ни админу, ни клиенту, что делать? Всё по инструкции залито.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление класса к товару если нет в наличии

Автор xcasperss

Ответов: 19
Просмотров: 835
Последний ответ 15.12.2018, 09:14:32
от xcasperss
Задать описание атрибута в backend

Автор FIORD_CMS

Ответов: 2
Просмотров: 955
Последний ответ 13.04.2015, 22:53:39
от FIORD_CMS
Старая цена (скидка) - как задать в процентах?

Автор lexrider

Ответов: 3
Просмотров: 1086
Последний ответ 30.03.2015, 22:02:04
от nevigen
Плагин добавления краткого описания к товару в заказе

Автор beagler

Ответов: 0
Просмотров: 1246
Последний ответ 13.07.2014, 00:35:46
от beagler
Вопрос по форме логина/регистрации

Автор Vitos

Ответов: 13
Просмотров: 2253
Последний ответ 13.03.2013, 20:28:11
от denben777