LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 00:57:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: добавить поле в "вопрос о товаре"  (Прочитано 5205 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Xook
Осваиваюсь на форуме
***

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

Сообщений: 98


« : 04.05.2009, 21:23:34 »

В VM есть фича "задать вопрос о товаре". В форму которую заполняет покупатель надо добавить поле "телефон". Это очень важно, т.к. порой звонок с ответом может закончится продажей. Помогите пожалуйста.
Записан
 
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #1 : 04.05.2009, 21:40:46 »

версия магазина?
Записан
Xook
Осваиваюсь на форуме
***

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

Сообщений: 98


« Ответ #2 : 05.05.2009, 12:23:31 »

1.1.3
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #3 : 05.05.2009, 12:41:38 »

файл \components\com_virtuemart\themes\default\templates\pages\shop.ask.tpl.php после 30 строки добвьте
Код:
<label for="contact_tel">Ваш телефон</label>
<br /><input type="text" name="tel" id="contact_tel" size="80" class="inputbox" value=""><br /><br />

попробуйте, не могу проверить отправку письма.
Записан
Xook
Осваиваюсь на форуме
***

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

Сообщений: 98


« Ответ #4 : 05.05.2009, 12:52:15 »

поле появилось, но письмо приходит без телефона (
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #5 : 05.05.2009, 12:55:08 »

будем смотреть дальше
Записан
Xook
Осваиваюсь на форуме
***

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

Сообщений: 98


« Ответ #6 : 05.05.2009, 12:59:25 »

что-то очень похожее на нужное в файле classes/ps_communication.php . Но я совсем не разбираюсь в php.

PS. Примерно со 190ой строки Azn
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #7 : 05.05.2009, 13:22:59 »

в том же shop.ask.tpl.php перед
Код:
document.emailForm.action = "<?php echo sefRelToAbs("index.php"); ?>"
добавь
Код:
document.emailForm.name.value=document.emailForm.name.value+" Телефон - "+document.emailForm.tel.value;
Записан
Xook
Осваиваюсь на форуме
***

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

Сообщений: 98


« Ответ #8 : 05.05.2009, 13:38:45 »

интересный конечно выход Azn)

PS. Просто интересно до конца разобраться с файлом ps_communication
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #9 : 05.05.2009, 13:45:17 »

Azn просто и со вкусом.
Просто в ps_communication нужно больше исправлений делать, а потом и шаблон письма править.
Записан
Xook
Осваиваюсь на форуме
***

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

Сообщений: 98


« Ответ #10 : 05.05.2009, 13:50:00 »

Azn просто и со вкусом.
Просто в ps_communication нужно больше исправлений делать, а потом и шаблон письма править.
да тут не поспоришь. но хотелось бы сделать красивое письмо чтобы приходило и поле с телефоном обязательное.
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #11 : 05.05.2009, 14:01:34 »

делай - шаблон письма в \components\com_virtuemart\themes\default\templates\order_emails\enquiry_email.tpl.php
Туда нужно добавить новую переменную  $shopper_tel и её же создать в ps_communication.php
в 157 строке добавить
Код:
$shopper_tel = vmRequest::getVar( 'tel', '', 'post' );
и после
Код:
$vendor_msg = str_replace( '{product_url}', $product_url, $vendor_msg );
добавить
Код:
$vendor_msg = str_replace( '{shopper_tel}', $shopper_tel, $vendor_msg );
Записан
Xook
Осваиваюсь на форуме
***

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

Сообщений: 98


« Ответ #12 : 05.05.2009, 14:58:55 »

блин. сделал. но в шаблоне письма вместо <?php echo $shopper_tel ?> ничего не приходит
Записан
beagler
Moderator
*****

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

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


http://beagler.ru/


« Ответ #13 : 05.05.2009, 15:21:59 »

извини, отладить не могу - проверять негде. Направление мысли я тебе подсказал.
Записан
Xook
Осваиваюсь на форуме
***

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

Сообщений: 98


« Ответ #14 : 05.05.2009, 15:31:19 »

да, спасибо. там просто далее в коде есть еще места куда явно надо добавить эту переменную. строки 190, 201, 227, 233. но как только я там что-то начинаю править - эта функция вообще не работает (
Записан
vitash
Осваиваюсь на форуме
***

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

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


""""""::::::""""""


« Ответ #15 : 30.07.2009, 02:17:41 »

Прочитав выше посты, доработал, проверил, работает. Работает на VirtueMart 1.1.3 stable, J 1.5.11. Добавил сначала одну строку, потом более.

Правил файлы:
\components\com_virtuemart\themes\default\templates\pages\shop.ask.tpl.php
После (строка~12):
Код:
<br /><input type="text" name="name" id="contact_name" size="80" class="inputbox" value="<?php echo $name ?>"><br /><br />
Добавил:
Код:
<label for="contact_tel"><?php echo $VM_LANG->_('TEL_PROMPT') ?></label>
<br /><input type="text" name="tel" id="contact_tel" size="80" class="inputbox" value="<?php echo $tel ?>"><br /><br />

\components\com_virtuemart\themes\default\templates\order_emails\enquiry_email.tpl.php

Этот файл для отправки писька в формате html

Код:
<?php echo $VM_LANG->_('VM_ENQUIRY_MAIL_PRODUCT_TEL');?><b>&nbsp;<?php echo $contact_tel ?></b>

\administrator\components\com_virtuemart\classes\ps_communication.php

После(строка~126):
Код:
$shopper_name = $d["name"];
Добавил:
Код:
$shopper_tel = vmRequest::getVar( 'tel', '', 'post' );
Далее после (строка~146):
Код:
$vendor_msg = str_replace( '{product_sku}', $db->f("product_sku"), $vendor_msg );
Добавил:
Код:
$vendor_msg = str_replace( '{shopper_tel}', $shopper_tel, $vendor_msg );
Далее в строке (строка~157) после:
Код:
vmMail( $vendor_email, $dbv->f("vendor_name"), $shopper_email,
.....и т.д.
Добавил значение: 
Код:
$shopper_tel,
Получилось:
Код:
vmMail( $vendor_email, $dbv->f("vendor_name"), $shopper_email, $shopper_tel,
......и т.д.
Аналогично в строке (строка~160):
Код:
vmMail($shopper_email, $shopper_name, $vendor_email,
.....и т.д.
Добавил значение: 
Код:
$shopper_tel,
Получилось:
Код:
vmMail($shopper_email, $shopper_name, $vendor_email, $shopper_tel,
......и т.д.

\administrator\components\com_virtuemart\html\shop.ask.php

После(строка~46):
Код:
$email = $my->email;
Добавил:
Код:
$tel = $my->tel;
Далее после (строка ~66):
Код:
'email' => $email,
Добавил:
Код:
'tel' => $tel,

\administrator\components\com_virtuemart\languages\common\russian.php

В значение:
Код:
'VM_ENQUIRY_VENDOR_EMAIL_MESSAGE' => 'Вы получили заказ по товару от {shopper_name} касательно:
Добавил еще:
Код:
Контактный телефон: {shopper_tel}

И отдельно добавил:   
Код:
'VM_ENQUIRY_MAIL_PRODUCT_TEL' => 'Контактный тел.:',
Это для отправки письма в текстовом формате.


\administrator\components\com_virtuemart\languages\shop\russian.php

Добавил
Код:
'TEL_PROMPT' => 'Контактный телефон',
Записан
tigrillka
Захожу иногда
**

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

Сообщений: 11


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

а для 1.0 такую штуку как сделать? Есть идеи?
Записан
bag667
Осваиваюсь на форуме
***

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

Сообщений: 47


« Ответ #17 : 04.10.2009, 03:22:55 »

Маленькое дополнение к написанному vitash.

Если письма отправляются в формате HTML, то нужно в файле \administrator\components\com_virtuemart\classes\ps_communication.php
в разделе // set up the HTML email

после
Код:
'contact_email' => $shopper_email,

вставить
Код:
'contact_tel' => $shopper_tel,

Вдруг поможет тем, кто плохо в php разбирается ))
Записан
mikl_644
Осваиваюсь на форуме
***

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

Сообщений: 54


« Ответ #18 : 09.01.2010, 03:52:00 »

Похожая задачка, но не могу справиться: в форме "задать вопрос по этому товару" при ее открытии уже заполнены поля, если юзер зарегился на сайте - адрес почты, и имя юзера, которые беруться из бд. Мне нужно добавить поле, в котором бы был указан логин этого юзера, который также брался бы из бд. Кто подскажет как это сделать?
« Последнее редактирование: 09.01.2010, 11:25:38 от mikl_644 » Записан
joomla-irinka
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #19 : 21.03.2010, 23:07:34 »

А подскажите как вообще этцу кнопку убрать?
Записан
igoryk
Давно я тут
****

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

Сообщений: 224


« Ответ #20 : 10.09.2010, 03:01:02 »

сделал все как написано, поля добавились, но при нажатии на кнопку ОТПРАВИТЬ - выдает - Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in xxxxxx\administrator\components\com_virtuemart\classes\ps_communication.php on line 124

стр. 124:
Код:
$db = new ps_DB;
        $product_id = (int)$d["product_id"];
        $q='SELECT * FROM #__{vm}_product WHERE product_id='.$product_id.' AND product_publish=\'Y\'';
        $db->query($q);
        if ( !$db->next_record() ) {
            $vmLogger->err( $VM_LANG->_('NOT_AUTH',false) );
            return false;
        }
        if ($db->f("product_sku") <> @$d["product_sku"] ) {
            $vmLogger->err( $VM_LANG->_('NOT_AUTH',false) );
            return false;
        }

В чем может быть проблема?

Разобрался - пропустил одну строку кода...
« Последнее редактирование: 20.09.2010, 02:50:45 от igoryk » Записан
terr
Завсегдатай
*****

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

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


Ученик html-я


« Ответ #21 : 19.11.2010, 10:33:15 »

как цену вывести, добавил код
Код:
<?php echo $VM_LANG->_('PHPSHOP_CART_PRICE')?>:&nbsp;<?php echo $product_price ?>
в enquiry_email.tpl.php
и
Код:
'product_price' => $db->f("product_price"),  //Добавляем запрос на цену товара из бд
в ps_communication.php

Слово цена выводится а вот сама цена нет в письме, и еще де поправить письмо клиенту

Цитировать
Подтверждение получения Вашего запроса

Спасибо за Ваше обращение к поставщику Техно-Урал касательно:
Название товара: Gorenje B 2000 P2B
Артикул: B2000P2B

Хочу поправить) в каком файле ето сделать?
« Последнее редактирование: 19.11.2010, 11:40:10 от terr » Записан
parfilov
Осваиваюсь на форуме
***

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

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



« Ответ #22 : 19.12.2010, 16:45:05 »

Привет всем! Поскажите пожалуйста, как вывести эту форму во flypage полностью, а не ссылкой на форму?
Спасибо!

J 1.5 VM 1.1.6
« Последнее редактирование: 19.12.2010, 20:59:15 от parfilov » Записан
melkiialex
Осваиваюсь на форуме
***

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

Сообщений: 78


« Ответ #23 : 15.09.2011, 16:22:56 »

Все получилось, только в письме номер телефона не показывается - почему?
Записан
lyoha.g
Захожу иногда
**

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

Сообщений: 7


« Ответ #24 : 07.11.2011, 00:55:23 »

всем привет!
Получилось добавить поле телефон. А как добавить поле с select или radiobutton кто-нибудь знает?
Записан
lyoha.g
Захожу иногда
**

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

Сообщений: 7


« Ответ #25 : 04.01.2012, 18:43:49 »

Ну так что, с select или radiobutton так никто до сих пор не встречался?

UPD. Получилось! Проверка делается в форме отправки письма(enquiry_email.tpl.php). В остальном все также.
« Последнее редактирование: 15.01.2012, 23:01:33 от lyoha.g » Записан
Satool
Захожу иногда
**

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

Сообщений: 17


« Ответ #26 : 20.01.2012, 19:37:50 »

Всем привет!
Телефон в форму добавил, но мне надо чтобы поле с телефом было обязательным.
Кто знает как можно это сделать?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | 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