Иногда корзина в виртуемарте не нужна, тогда можно воспользоваться формой Задать вопрос.

Вывести кнопку Задать вопрос можно здесь

Настройки / Внешний вид

Virtuemart 3, дополнительное поле в форму Задать вопрос

Переименуем название кнопки, например, в Сделать заказ.

Добавим теперь долнительные поля в форму Задать вопрос.

Пусть это будет поле Телефон

Сначала, добавляем само поле в форму. Форма находится в файле

components/com_virtuemart/views/askquestion/tmpl/form.php

Добавили поле

<tr>
 <td colspan="2"><label for="phone"><?php echo vmText::_('Телефон') ?> : </label>
 <br><input style="border:1px solid #ccc;" type="text" class="validate[required,minSize[3],maxSize[64]]" value="<?php echo $this->user->phone ? $this->user->name : $sessData['phone'] ?>" name="phone" id="phone" size="30" validation="required phone"/></td>
</tr>

Теперь в файле

components/com_virtuemart/views/askquestion/tmpl/mail_html_question.php

до или после комментария добавим

<?php echo $this->phone; ?><br /><br />

Это, примерно, 54 строка.

И еще придется добавить код в файле 

components/com_virtuemart/views/askquestion/view.html.php

Примерно, 165 строка.

$this->phone = vRequest::getString ('phone');

Не очень здорово, что приходится добавлять в файл представления, потому что при обновлении может затереться. Остальные файлы можно переопределить в шаблоне.

И еще не увидел, как добавить значение поля в сессию, чтобы в случае неправильно указанных данных, введенное в поле сохранилось..

Чтобы сделать комментарий, нужно авторизоваться на сайте!