0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 5566 Просмотров
*

pse1980

  • Захожу иногда
  • 53
  • 3 / 0
Вместо региона в письме приходят цифры:
Например:
Регион: 01

а должно быть

Регион: Агинский округ

Подскажите где ошибка может быть.....

« Последнее редактирование: 07.06.2009, 23:21:43 от beagler »
*

GTpro

  • Захожу иногда
  • 102
  • 1 / 0
Это не ошибка, так настроено.
Тоже хочу исправить этот момент, но где не знаю...
*

Mirsaytov

  • Захожу иногда
  • 57
  • 16 / 0
*

GTpro

  • Захожу иногда
  • 102
  • 1 / 0
А на русский можно перевести?
*

beagler

  • Moderator
  • 3276
  • 391 / 4
  • https://alorisman.ru/
в файле account.order_details.tpl.php
найти код (строки 120-130)
Код
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;
          default:
          echo $dbbt->f($field->name);
          break;
          }
и заменит его на
Код
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;
         
          case 'state':
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbbt->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbbt->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );              
          break;
         
          default:
          echo $dbbt->f($field->name);
          break;
          }
и код (163-168)
Код
switch($field->name) {
          case 'country':
          require_once(CLASSPATH.'ps_country.php');
          $country = new ps_country();
          $dbc = $country->get_country_by_code($dbst->f($field->name));
          if( $dbc !== false ) echo $dbc->f('country_name');
          break;
          default:
          echo $dbst->f($field->name);
          break;
          }
замеить на
Код
switch($field->name) {
          case 'country':
          require_once(CLASSPATH.'ps_country.php');
          $country = new ps_country();
          $dbc = $country->get_country_by_code($dbst->f($field->name));
          if( $dbc !== false ) echo $dbc->f('country_name');
          break;
         
          case 'state':
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbbt->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbbt->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );              
          break;
         
          default:
          echo $dbst->f($field->name);
          break;
          }
*

GTpro

  • Захожу иногда
  • 102
  • 1 / 0
Спасибо, пошел делать ...
*

urodoff

  • Захожу иногда
  • 71
  • 18 / 0
попробовал эту модификацию что-то получилось не так в письме приходит:
Страна:    RUS
Регион:    77
Город:    Москва
Индекс:    111141
Адрес доставки:    Кожевнический переулок дом 134
*

GTpro

  • Захожу иногда
  • 102
  • 1 / 0
Тоже самое происходит.
Выходит хак не верный.
*

urodoff

  • Захожу иногда
  • 71
  • 18 / 0
nтамв англицкой версии много еще чего далее по теме модифицируют только не понятно что для чего....
*

urodoff

  • Захожу иногда
  • 71
  • 18 / 0
есть гуру которые разобрались?
помогите плиззз
*

ageres

  • Захожу иногда
  • 56
  • 0 / 0
попробовал эту модификацию что-то получилось не так в письме приходит:
Страна:    RUS
Регион:    77
Город:    Москва
Индекс:    111141
Адрес доставки:    Кожевнический переулок дом 134
есть гуру которые разобрались?
помогите пожалуйстазз

Я конечно не гуру) но вопрос этот решил, немного иначе
Если посмотреть  Настройки >> Список регионов  то он выводит  Код страны (2):RU

для страны таблица в базе  jos_vm_country
в поле country_2_code там тип char(2-кол-во символов)   я изменил  на varchar(255) и  теперь в админке  можно написать полностью страну

для областей которые выбираются из списка в этой стране  в таблице jos_vm_state
в поле state_2_code там тип char(2-кол-во символов)   я изменил  на varchar(255) и также полностью  написать  область
« Последнее редактирование: 29.10.2010, 19:01:25 от ageres »
*

ageres

  • Захожу иногда
  • 56
  • 0 / 0
Вот только один момент   в оформленном заказе  поле страна пустое, также и на e-mail   админа и покупателя также пусто.

Обнаружил такой момент  что если  в "Управление полями, заполняемыми пользователем"   скрывать поле страны,   то кроме  значение  еще и надпись Страна: изчезает,  т.е. поле страна берется оттуда,  хотя на этапе оформления заказа  Страна выводится т.е. берется  со списка стран там где и область

Может кто-то подскажет как вывести значение страны  в оформленном заказе.  
*

vodka_pivo

  • Захожу иногда
  • 57
  • 5 / 0
  • Ёрш
Чтобы в приходящем письме вместо кода региона было название области, правим:
/comoponents/com_virtuemart/themes/xxx/templates/order_emails/confirmation_email.tpl.php

ищем строки 116-124
Код
	          	case 'country':
          require_once(CLASSPATH.'ps_country.php');
          $country = new ps_country();
          $dbc = $country->get_country_by_code($dbst->f($field->name));
          if( $dbc !== false ) echo $dbc->f('country_name');
          break;
          default:
          echo $dbst->f($field->name);
          break;

и между break; и default:, вставляем этот код:
Код
// hack - state name		          	
case 'state': 
   $dbst1 = new ps_DB();
   $q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
   $q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_name = '".$dbc->f('country_name')."') ";
   $q .= "AND #__{vm}_state.state_2_code = '".$dbbt->f($field->name)."' ";
   $dbst1->query($q);
   $jglr_state_name=$dbst1->f( 'state_name' );
   echo $jglr_state_name;
   break;
// end hack - state name


далее строки 77-85:
Код
	          	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;
          default:
          echo $dbbt->f($field->name);
          break;
и между break; и default:, вставляем тотже код.
*

Andriyka

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
2 vodka_pivo - респект за решение *DRINK*
*

GTpro

  • Захожу иногда
  • 102
  • 1 / 0
Сделал так же.
Но регион перестал выводиться вовсе.
Страна и регион не отображаются.
VM 1.1.2
*

fsv

  • Moderator
  • 2665
  • 384 / 2
Сделал так же.
Но регион перестал выводиться вовсе.
Страна и регион не отображаются.
VM 1.1.2

http://joomlaforum.ru/index.php/topic,167971.msg906678.html#msg906678
« Последнее редактирование: 11.06.2011, 22:38:18 от fsv »
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться