Как добавить поле в virtuemart 1.1.x в форму задать вопрос по этому товару

11.02.2012

Есть более свежая статья на тему добавления полей в VirtueMart!

Задался вопросом как добавить поле в virtuemart 1.1.x в форму задать вопрос по этому товару? Вот решение!
Задача была добавить поле с телефоном которое будет отправляться на email.

Нам понадобится 6 файлов:

1 \components\com_virtuemart\themes\_ТЕМА_\templates\pages\shop.ask.tpl.php
2 \components\com_virtuemart\themes\_ТЕМА_\templates\order_emails\enquiry_email.tpl.php
3 \administrator\components\com_virtuemart\html\shop.ask.php
4 \administrator\components\com_virtuemart\classes\ps_communication.php
5 \administrator\components\com_virtuemart\languages\common\russian.php
6 \administrator\components\com_virtuemart\languages\shop\russian.php

Открываем первый shop.ask.tpl.php и находим такую строку:

1
2
<input type="text" name="name" id="contact_name" size="80"
class="inputbox" value="<?php echo $name ?>">
После нее добавляем следующее
1
2
3
4
<label for="contact_tel"><?php echo $VM_LANG->_('TEL_PROMPT') ?></label>
     
<input type="text" name="tel" id="contact_tel" size="80"
class="inputbox" value="<?php echo $tel ?>">
Далее открываем файл 2 enquiry_email.tpl.php. В этом файле формируется html разметка отправляемого письма. Выбираем место где вывести информацию из поля телефон и добавляем туда
1
2
<?php echo $VM_LANG->_('VM_ENQUIRY_MAIL_PRODUCT_TEL');?>
<b> <?php echo $contact_tel ?></b>
Открываем ps_communication.php
После
1
$shopper_name = $d["name"];
Добавляем
1
$shopper_tel = vmRequest::getVar( 'tel', '', 'post' );
После
1
$vendor_msg = str_replace( '{product_sku}', $db->f("product_sku"), $vendor_msg );
Вставляем
1
vendor_msg = str_replace( '{shopper_tel}', $shopper_tel, $vendor_msg );
После
1
vmMail( $vendor_email, $dbv->f("vendor_name"), $shopper_email,
Вставляем
1
shopper_tel,
После
1
vmMail($shopper_email, $shopper_name, $vendor_email,
Добавляем
1
$shopper_tel,
После
1
'contact_email' => $shopper_email,
Добавляем
1
'contact_tel' => $shopper_tel,
В shop.ask.php После
1
$email = $my->email;
Добавляем
1
$tel = $my->tel;
После
1
'email' => $email,
Добавляем
1
'tel' => $tel,
В \administrator\components\com_virtuemart\languages\common\russian.php В параметр
1
2
'VM_ENQUIRY_VENDOR_EMAIL_MESSAGE' => 'Вы получили заказ по товару от {shopper_name} касательно:
<="" span="">
Добавляем
1
Контактный телефон: {shopper_tel}
Отдельно
1
'VM_ENQUIRY_MAIL_PRODUCT_TEL' => 'Контактный тел.:',
В \administrator\components\com_virtuemart\languages\shop\russian.php добавляем
1
'TEL_PROMPT' => 'Контактный телефон',

Категории: VirtueMart 1.X
Яндекс.Метрика