Код региона при оформлении заказа
В форме заказа пишется код региона. Это здорово, но хочется еще и видеть название.
Языковая переменная - PHPSHOP_ORDER_PRINT_STATE, лежит в administrator/components/com_virtuemart/languages/common/russian.php
Править нужно следующие файлы:
- administrator/components/com_virtuemart/html/order.order_printdetails.php - форма печати заказа (открывается в отдельном окне)
- administrator/components/com_virtuemart/html/order.order_print.php - форма отображения заказа (Администрирование-Заказы-Список заказов)
- components/com_virtuemart/themes/default/templates/order_emails/confirmation_email.tpl.php - письмо-уведомление о заказе
- components/com_virtuemart/themes/default/templates/pages/account.order_details.tpl.php - просмотр заказа через личный кабинет пользователя
После кода (там два одинаковых кусочка, нужно вставить в каждый из них)
<td><?php switch($field->name) { case 'country': require_once(CLASSPATH.'ps_country.php'); $country = new ps_country(); $dbc = $country->get_country_by_code($dbbt->f($field->name)); if( $dbc !== false ) echo $dbc->f('country_name'); break;
нужно добавить
// state from code case 'state': $number_state = $dbbt->f($field->name); $q_state = "SELECT state_name FROM #__{vm}_state"; $q_state .= " WHERE country_id=176"; // Россия $q_state .= " AND state_2_code=" . $number_state; $dbstate = new ps_DB; $dbstate->query($q_state); $dbstate->next_record(); $number_state = $dbstate->f('state_name') . " (" . $number_state . ")"; echo $number_state; break;
Внимание: В файле order.order_print.php нужно вместо
$number_state = $dbbt->f($field->name);
написать
$number_state = $dbt->f($field->name);