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

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

1 componentscom_virtuemartthemesdefaulttemplatespagesshop.ask.tpl.php
2 componentscom_virtuemartthemesdefaulttemplatesorder_emailsenquiry_email.tpl.php
3 administratorcomponentscom_virtuemarthtmlshop.ask.php
4 administratorcomponentscom_virtuemartclassesps_communication.php

5 administratorcomponentscom_virtuemartlanguagescommonrussian.php
6 administratorcomponentscom_virtuemartlanguagesshoprussian.php

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

<input type="text" name="name" id="contact_name" size="80" 
class="inputbox" value="<?php echo $name ?>">

 

После нее добавляем следующее

<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 ?>">

 

Далее открываем файл 2 enquiry_email.tpl.php. В этом файле формируется html разметка отправляемого письма. Выбираем место где вывести информацию из поля телефон и добавляем туда

<?php echo $VM_LANG->_('VM_ENQUIRY_MAIL_PRODUCT_TEL');?>
<b> <?php echo $contact_tel ?></b>

 

Открываем ps_communication.php
После

$shopper_name = $d["name"];

 

Добавляем

$shopper_tel = vmRequest::getVar( 'tel', '', 'post' );

 

После

$vendor_msg = str_replace( '{product_sku}', $db->f("product_sku"), $vendor_msg );

 

Вставляем

$vendor_msg = str_replace( '{shopper_tel}', $shopper_tel, $vendor_msg );

 

После

vmMail( $vendor_email, $dbv->f("vendor_name"), $shopper_email,

 

Вставляем

$shopper_tel,

После

vmMail($shopper_email, $shopper_name, $vendor_email,

Добавляем

$shopper_tel,

После

'contact_email' => $shopper_email,

 

Добавляем

'contact_tel' => $shopper_tel,

 

В shop.ask.php После

$email = $my->email;

Добавляем

$tel = $my->tel;

После

'email' => $email,

 

Добавляем

'tel' => $tel,

 

В administratorcomponentscom_virtuemartlanguagescommonrussian.php В параметр

'VM_ENQUIRY_VENDOR_EMAIL_MESSAGE' => 'Вы получили заказ по товару от {shopper_name} касательно:

 

Добавляем

Контактный телефон: {shopper_tel}

 

Отдельно

'VM_ENQUIRY_MAIL_PRODUCT_TEL' => 'Контактный тел.:',

 

В administratorcomponentscom_virtuemartlanguagesshoprussian.php добавляем

'TEL_PROMPT' => 'Контактный телефон',

 

Проверенно работает

Производство экскаваторов и запчасти кним. В наличии запчасти экг 5.