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

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

[Решено] Модификация функции "Задать вопрос по товару" в VirtueMart 2.0.10

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

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

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



« : 16.09.2012, 04:43:46 »

Здравуствуйте. У меня в магазине все товары имеют похожие названия, поэтому определить о каком товаре задали вопрос сложно. Можно ли как то доработать чтобы в письме приходило не только название товара, но и ссылка на него? Помогите реализировать.
« Последнее редактирование: 20.10.2012, 14:03:04 от ELLE » Записан
bogdanvolkov
Новичок
*

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

Сообщений: 1


« Ответ #1 : 19.10.2012, 13:30:51 »

Сюда - /components/com_virtuemart/views/askquestion/tmpl (mail_html_question.php) после product_name добавляем
Код:
    <p>Код продукта: <?php echo$this->product->product_sku ?>
          </p>
          <p>Краткое описание товара: <?php echo $this->product->product_s_desc ?>
          </p>
          <p>Ссылка на товар: <a href="<?php echo juri::root()?>/index.php?tmpl=component&option=com_virtuemart&view=productdetails&virtuemart_product_id=<?php echo $this->product->virtuemart_product_id ?>" title="<?php echo$this->product->product_name ?>"><?php echo$this->product->product_name ?></a>
          </p>             
Решение с этого форума https://forum.virtuemart.net/index.php?topic=98468.0
Можете другие варианты рассмотреть
Записан
freearrows
Осваиваюсь на форуме
***

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

Сообщений: 42



« Ответ #2 : 19.10.2012, 18:30:00 »

bogdanvolkov, благодарю! Все получилось и работает. Только сохранить файл mail_html_question.php в UTF-8 без BOM, чтобы русские буквы отображались.
Записан
Arlekina
Осваиваюсь на форуме
***

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

Сообщений: 52



« Ответ #3 : 11.01.2013, 19:03:46 »

Подскажите кто-нибудь пожалуйста, а как в форме "Задать вопрос" вывести цену в той валюте, которая на сайте по умолчанию? 
у меня просто валюта по умолчанию гривна, а цены на товары вводятся в евро и долларах и пересчитываются в гривны. я вывожу:
Код:
$this->product->product_price
и получаю цену в той валюте в которой вводили, а не в той что на сайте.

upd:
Нужно выводить
Код:
$this->product->prices['basePrice']
только не округляется сумма, сколько знаков после запятой есть, столько и выводится
« Последнее редактирование: 11.01.2013, 22:04:03 от Arlekina » Записан
lakshmi
Осваиваюсь на форуме
***

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

Сообщений: 177



« Ответ #4 : 23.10.2013, 12:13:22 »

Как можно в форме Задать вопрос о товаре поле эмаил сделать не обязательным или вообще убрать?
Записан
Natashkalinina
Новичок
*

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

Сообщений: 1


« Ответ #5 : 22.01.2014, 23:39:23 »

Доброго времени суток! делаю сайт сама на  VirtueMart 2 (вернее установила шаблон) Посетитель сайта  задал вопрос по товару, нажав в карточке товара кнопку "задать вопрос по товару", мне пришло сообщение с вопросом, но нет обратного адреса( нажимая кнопку ответить я пересылаю ответ сама себе( пробовала добавить надпись телефон, всё получилось, но в письме номер тоже не отображается! как мне связываться тогда с людьми? или может кто скажет, как эту кнопку вообще убрать?
Записан
peregoodov
Новичок
*

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

Сообщений: 1


« Ответ #6 : 16.02.2014, 14:55:52 »

Доброго времени суток! делаю сайт сама на  VirtueMart 2 (вернее установила шаблон) Посетитель сайта  задал вопрос по товару, нажав в карточке товара кнопку "задать вопрос по товару", мне пришло сообщение с вопросом, но нет обратного адреса( нажимая кнопку ответить я пересылаю ответ сама себе( пробовала добавить надпись телефон, всё получилось, но в письме номер тоже не отображается! как мне связываться тогда с людьми? или может кто скажет, как эту кнопку вообще убрать?
Такая же проблема! как решить ? опытные форумчане - помогите!
Записан
zomby6888
Живу я здесь
******

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

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


« Ответ #7 : 16.02.2014, 15:37:31 »

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

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

Сообщений: 49



« Ответ #8 : 23.06.2014, 04:25:32 »

Спасибо за подсказку файла, в котором находится структура отправляемого письма с вопросом о товаре!
Записан
vantal
Осваиваюсь на форуме
***

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

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



« Ответ #9 : 22.07.2014, 05:18:32 »

Может кто знает. Как сделать, чтобы в форме задать вопрос по товару выводилось ( и естественно отправлялось на почту) количество товара, выбранное до этого и настраиваемое поле (размер одежды).
очень нужно! Может кто-то подскажет хотя бы ход мыслей...
Записан
notnik
Захожу иногда
**

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

Сообщений: 12


« Ответ #10 : 01.03.2016, 16:46:08 »

В форме «задать вопрос о товаре» как убрать проверку заполнения мэйла. За проверку отвечает public function mailAskquestion в файле components/com_virtuemart/controllers/productdetails.php. Но как поправить?
« Последнее редактирование: 01.03.2016, 18:59:25 от notnik » Записан
CaHeK_pk
Осваиваюсь на форуме
***

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

Сообщений: 119


« Ответ #11 : 04.03.2016, 17:09:40 »

В форме «задать вопрос о товаре» как убрать проверку заполнения мэйла. За проверку отвечает public function mailAskquestion в файле components/com_virtuemart/controllers/productdetails.php. Но как поправить?
в этом файле убираете строки с 175 по 196
Код
		$validMail = filter_var (JRequest::getVar ('email'), FILTER_VALIDATE_EMAIL);
 
if ($commentSize < $min or $commentSize > $max or !$validMail) {
$errmsg = JText::_ ('COM_VIRTUEMART_COMMENT_NOT_VALID_JS');
if ($commentSize < $min) {
$errmsg = JText::_ ('COM_VIRTUEMART_ASKQU_CS_MIN');
;
} else {
if ($commentSize > $max) {
$errmsg = JText::_ ('COM_VIRTUEMART_ASKQU_CS_MAX');
;
} else {
if (!$validMail) {
$errmsg = JText::_ ('COM_VIRTUEMART_ASKQU_INV_MAIL');
;
}
}
}
 
$this->setRedirect (JRoute::_ ('index.php?option=com_virtuemart&tmpl=component&view=productdetails&task=askquestion&virtuemart_product_id=' . JRequest::getInt ('virtuemart_product_id', 0)), $errmsg);
return;
}
и меняете в строке 217
Код
$fromMail = JRequest::getVar ('email');
на
Код
$fromMail = '';
---
нумерация строк может быть другая.
Записан
notnik
Захожу иногда
**

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

Сообщений: 12


« Ответ #12 : 05.03.2016, 14:47:06 »

Пишет "необходимо заполнить", "неверный формат емэйл", но уже в самом конце-при отправке
, а не при клике на следующем поле.
Записан
notnik
Захожу иногда
**

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

Сообщений: 12


« Ответ #13 : 05.03.2016, 14:51:24 »

нумерация строк та же, но минус 97
Записан
notnik
Захожу иногда
**

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

Сообщений: 12


« Ответ #14 : 05.03.2016, 15:25:19 »

 в файле components\com_virtuemart\controllers\vendor.php тоже удалил, но видно не все
Записан
CaHeK_pk
Осваиваюсь на форуме
***

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

Сообщений: 119


« Ответ #15 : 05.03.2016, 15:56:51 »

Пишет "необходимо заполнить", "неверный формат емэйл", но уже в самом конце-при отправке
, а не при клике на следующем поле.
странно... вирт  2.6.22 все работает... попробуйте в этом же файле убрать строки
Код
		if (empty($user->id)) {
// $fromMail = JRequest::getVar ('email'); //is sanitized then
$fromName = JRequest::getVar ('name', ''); //is sanitized then
// $fromMail = str_replace (array('\'', '"', ',', '%', '*', '/', '\\', '?', '^', '`', '{', '}', '|', '~'), array(''), $fromMail);
$fromName = str_replace (array('\'', '"', ',', '%', '*', '/', '\\', '?', '^', '`', '{', '}', '|', '~'), array(''), $fromName);
} else {
// $fromMail = $user->email;
$fromName = $user->name;
}
....
$vars['user'] = array('name' => $fromName//, 'email' => $fromMail
);
 
данные строки я закомментировал уже. они повторяются 2 раза. так-же и с теми что выше.
Записан
notnik
Захожу иногда
**

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

Сообщений: 12


« Ответ #16 : 05.03.2016, 17:24:38 »

нет, ничего не меняется. Я так думаю, нужно после всех проверок присвоить переменной значение-например defolt@mail.ru и поле мэйла скрыть, но я не знаю какой переменной это значение присвоить.
Записан
CaHeK_pk
Осваиваюсь на форуме
***

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

Сообщений: 119


« Ответ #17 : 06.03.2016, 10:12:13 »

нет, ничего не меняется. Я так думаю, нужно после всех проверок присвоить переменной значение-например defolt@mail.ru и поле мэйла скрыть, но я не знаю какой переменной это значение присвоить.
если поставить заглушку, то нужно в файле "components\com_virtuemart\views\askquestion\tmpl\form.php" заменить поле ввода e-mail
строка с 80-81
Код
							<!-- <td><label><?php // echo JText::_('COM_VIRTUEMART_USER_FORM_EMAIL')  ?> : </label></td>
<td> --> <input type="hidden" class="validate[required,custom[email]]" value="no-mail@me.ru" name="email" id="email" size="30"  validation="required email"/> <!-- </td> -->
 
надеюсь этот способ не только у меня работает:))
« Последнее редактирование: 06.03.2016, 10:15:50 от CaHeK_pk » Записан
notnik
Захожу иногда
**

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

Сообщений: 12


« Ответ #18 : 10.03.2016, 21:38:08 »

Спасибо! Все работает!  drink
Записан
yunira
Захожу иногда
**

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

Сообщений: 13


« Ответ #19 : 02.11.2016, 12:12:18 »

А как в форме "Задать вопрос по товару" изменить количество символов вопроса (там 50...2000 символов). И настоить е-мейл получателя вопроса?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

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