Основная проблема VirtueMart в том, что у него все находится на разных страницах: регистрация, в оформлении заказа, чтобы добавить контактную информацию клиенту нужно идти на новую страницу, которую формирует account.billing.tpl.php и account.billing.php. Чтобы добавить адрес доставки опять нужно переходить по ссылке на новую страницу с формой, которую формирует account.shipto.tpl и account.shipto.php. Неужели нельзя было сделать эти формы сразу на одной странице, чтобы покупатель мог сразу их заполнить?
Хочу реализовать вот такую страницу оформления заказа:

Пыталась сделать следующие изменения в файлах, но в итоге страница выдает ошибку
Warning: Invalid argument supplied for foreach() in Z:\home\localhost\www\witeangel\administrator\components\com_virtuemart\classes\ps_userfield.php on line 266Мои действия:
1. Я изменила в админке VirtueMart в закладке
Оформление заказа - все шаги проставила 1-1-1-1. Чтобы все отображалось на одной странице.
2. Теперь я хочу сделать, чтобы вместо
Контактной информации выводилась форма, которая появляется, если кликнуть на ссылку ИЗМЕНИТЬ АДРЕС.
3. Все формы формируются файлом
ps_userfield.php. Я добавила класс
ps_userfield.php в файл checkout.index.php в строку 21, т.к. именно он отвечает за вывод Оформления заказа. Вот код:
mm_showMyFileName( __FILE__ );
require_once( CLASSPATH . "ps_checkout.php" );
require_once( CLASSPATH . "ps_userfield.php" );
require_once( CLASSPATH . "htmlTools.class.php" );
$ship_to_info_id = vmGet( $_REQUEST, 'ship_to_info_id');
$shipping_rate_id = urldecode(vmGet( $_REQUEST, "shipping_rate_id", null ));
$payment_method_id = vmGet( $_REQUEST, 'payment_method_id');
$Itemid = $sess->getShopItemid();
4. В файл get_shipping_address.tpl.php добавила следующий код из account.billing.tpl.php, который формирует форму для заполнения контактной информации:
<?php ps_userfield::listUserFields( $fields, $skip_fields, $db ); ?>
Но он не хочет корректно работать! Ошибка:
Warning: Invalid argument supplied for foreach() in Z:\home\localhost\www\witeangel\administrator\components\com_virtuemart\classes\ps_userfield.php on line 266Может это кого-то натолкнет на мысль, как сделать правильно. Моих познаний в php не хватает
