Задался вопросом как добавить поле в 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
|
vmMail($shopper_email, $shopper_name, $vendor_email, |
Добавляем
После
1
|
'contact_email' => $shopper_email, |
Добавляем
1
|
'contact_tel' => $shopper_tel, |
В shop.ask.php После
Добавляем
После
Добавляем
В \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' => 'Контактный телефон', |