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

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Joomla 1.5.10
VirtueMart 1.1.3


Добрый день!

При оформлении заказа на шаге выбора адреса доставки, пользователю предоставляется выбор - либо воспользоваться адресом, указанном в контактных данных, либо добавить другой адрес. Функция добавления нового адреса работает на "ура", кроме одного момента - нет поля для ввода НАЗВАНИЯ адреса (кода, обозначения, удобного пользователю).

Поэтому в управлении учетной записью, а разделе "Адреса доставки" получается вот такая ерунда:

В базе данных поле для этого "кода" предусмотрено. Дело за малым - вставить поле для его ввода :)

Подскажите, где и как это сделать?
« Последнее редактирование: 09.06.2009, 13:27:36 от crazymuzzle »
*

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Поле ввода кода для нового адреса
« Ответ #1 : 10.06.2009, 14:54:20 »
up.
вопрос актуален
« Последнее редактирование: 10.06.2009, 20:44:40 от crazymuzzle »
*

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Поле ввода кода для нового адреса
« Ответ #2 : 11.06.2009, 20:45:27 »
неужели у всех этот функционал работает на "ура"?
откуда тогда у меня с названием "адреса доставки" такая беда?
 :(
*

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Поле ввода кода для нового адреса
« Ответ #3 : 28.06.2009, 20:36:24 »
up.

не удалось пока расколоть этот вопрос.
всё еще надеюсь на "помощь зала" :)
*

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Поле ввода кода для нового адреса
« Ответ #4 : 05.07.2009, 23:14:17 »
up...
*

beagler

  • Moderator
  • 3276
  • 391 / 4
  • https://alorisman.ru/
Re: Поле ввода кода для нового адреса
« Ответ #5 : 22.07.2009, 16:23:37 »
не нужно поле ввода - зайди в личный кабинет - увидишь, что адреса добавляются. Просто они не выводядся для выбора.
Исправление - в ps_checout.php закомментировать следующие строки (у меня 712-713)
Код
		$q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code) ";
$q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";
*

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Поле ввода кода для нового адреса
« Ответ #6 : 22.07.2009, 20:18:20 »
не пойму, что это комментирование даёт... видимых изменений никаких  :o

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

подскажите, пожалуйста, в каком файле можно исправить вывод информации о адресах доставки в личном кабинете?
*

beagler

  • Moderator
  • 3276
  • 391 / 4
  • https://alorisman.ru/
Re: Поле ввода кода для нового адреса
« Ответ #7 : 22.07.2009, 21:47:08 »
мда. Пропустил в первом посте ключевое слово "управлении учетной записью". :)

А у меня при оформлении заказа выводился только адрес по умолчанию. Этот хак решили именно это проблему.
Странно, а в личном кабинете у меня всё в порядке.
Давай ссылку.
*

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Поле ввода кода для нового адреса
« Ответ #8 : 22.07.2009, 22:03:27 »
всё гениально просто!
не знаю как, но ваши ответы подсказали мне, где собака порылась :)

оказывается, по умолчанию было отключено для показа поле address_type_name (странно, конечно, но факт)
после включения всех его галочек кроме "Показывать на форме регистрации" - всё стало отображаться так, как я и хотел :)

спасибо!
*

beagler

  • Moderator
  • 3276
  • 391 / 4
  • https://alorisman.ru/
*

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Поле ввода кода для нового адреса
« Ответ #10 : 22.07.2009, 22:50:02 »
При одинаковой версии магазина.
быть может, из-за различий обработки запроса разными версиями mySQL?
*

Evgen222

  • Новичок
  • 7
  • 0 / 0
Re: Поле ввода кода для нового адреса
« Ответ #12 : 12.02.2010, 17:11:11 »
не нужно поле ввода - зайди в личный кабинет - увидишь, что адреса добавляются. Просто они не выводядся для выбора.
Исправление - в ps_checout.php закомментировать следующие строки (у меня 712-713)
Код
		$q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code) ";
$q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";

блин спасибо помогло, а то я уже всю голову сломал.  :D Но надо закомментировать в двух местах.
« Последнее редактирование: 12.02.2010, 17:48:44 от Evgen222 »
*

Evgen222

  • Новичок
  • 7
  • 0 / 0
Re: Поле ввода кода для нового адреса
« Ответ #13 : 12.02.2010, 17:50:30 »
блин адрес появляется,но теперь при выборе второго адреса оформление не проходит пункт доставки.пишет ошибку.
*

codeshon

  • Захожу иногда
  • 58
  • 2 / 0
  • Аватар в отпуске
Re: Поле ввода кода для нового адреса
« Ответ #14 : 02.05.2011, 22:21:10 »
Такая же проблема, как в первом посте (((
Манипуляции, описанные в этой ветке удачи не принесли.
Если кто сталкивался и решил, помогите пожалуйста!

Сайт на хостинге...
Joomla 1.5.22+Virt 1.1.8
*

fsv

  • Moderator
  • 2665
  • 384 / 2
Re: Поле ввода кода для нового адреса
« Ответ #15 : 02.05.2011, 23:55:28 »
Такая же проблема, как в первом посте (((
Манипуляции, описанные в этой ветке удачи не принесли.
Если кто сталкивался и решил, помогите пожалуйста!

Сайт на хостинге...
Joomla 1.5.22+Virt 1.1.8


При заказе для доставки используется «Адрес 1» (PHPSHOP_SHOPPER_FORM_ADDRESS_1).
«Адрес доставки» (PHPSHOP_USER_FORM_ADDRESS_LABEL) используется в «Управление учетной записью»- названия дополнительных адресов доставок в соответствующем перечне.

Возможное решение:
в файле \administrator\components\com_virtuemart\languages\common\russian.php

стр.72:                  'PHPSHOP_USER_FORM_ADDRESS_LABEL' => 'Адрес доставки',
       меняем на     'PHPSHOP_USER_FORM_ADDRESS_LABEL' => 'Код адреса',

стр.185:                'PHPSHOP_SHOPPER_FORM_ADDRESS_1' => 'Адрес 1',
       меняем на     'PHPSHOP_SHOPPER_FORM_ADDRESS_1' => 'Адрес',

В «Управление полями, заполняемыми пользователем» «Код адреса» ставим выше над «Адрес» и оба поля публикуем по всем столбцам (в том числе в качестве обязательных).
Важно:  если не публиковать «Код адреса» в предпоследнем столбце без названия, то в «Информации о заказе» в блоке «Адрес доставки» его не будет. Что нам и хотелось бы (там это информация является лишней). НО! Тогда на странице «Добавить новый адрес доставки» «Код адреса» тоже пропадет, а там он нам нужен в качестве обязательного для публикации поля, для того, чтобы в списке адресов у нового адреса было условное имя (код).

Что получим:
В списке адресов доставок в качестве их названий будут «Код адреса» (например, «007», «адрес бабушки тети жены» и т.д.). Какой будет код, пользователь решает сам.
В качестве адреса доставки везде указывается «Адрес».
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

codeshon

  • Захожу иногда
  • 58
  • 2 / 0
  • Аватар в отпуске
Re: Поле ввода кода для нового адреса
« Ответ #16 : 03.05.2011, 00:56:12 »
fsv, спасибо большое за подробный ответ! Как вариантом, им воспользуюсь. Но хотелось бы понять, можно ли исправить сей косяк без танцев с бубном и откуда ноги этого бага растут.
*

fsv

  • Moderator
  • 2665
  • 384 / 2
Re: Поле ввода кода для нового адреса
« Ответ #17 : 03.05.2011, 19:07:00 »
fsv, спасибо большое за подробный ответ! Как вариантом, им воспользуюсь. Но хотелось бы понять, можно ли исправить сей косяк без танцев с бубном и откуда ноги этого бага растут.

Мне и самому не нравиться это решение  ;D. Слишком надуманное и не решает проблему отображения излишней информации. Придумал его примерно неделю назад, чтобы быстрее продвинуться с сайтом дальше. Но пометил, что надо вернуться к этому вопросу, когда будет время. Сегодня вроде как было...
Вариант решения (все сначала, прошлое не смотрим):


При заказе для доставки используется «Адрес 1» - address_1 (PHPSHOP_SHOPPER_FORM_ADDRESS_1).
«Адрес доставки» - address_type_name (PHPSHOP_USER_FORM_ADDRESS_LABEL) используется в «Управление учетной записью»- названия дополнительных адресов доставок в соответствующем перечне.
«Адрес доставки» - address_type_name  - на мой взгляд, лишнее поле.

Возможное решение:
в файле \administrator\components\com_virtuemart\languages\common\russian.php

стр.185:                'PHPSHOP_SHOPPER_FORM_ADDRESS_1' => 'Адрес 1',
       меняем на     'PHPSHOP_SHOPPER_FORM_ADDRESS_1' => 'Адрес',


Для того, чтобы не использовать вообще «Адрес доставки» - address_type_name (PHPSHOP_USER_FORM_ADDRESS_LABEL)
 
\components\com_virtuemart\themes\default\templates\pages\account.shipping.tpl.php
стр.31
<?php echo $db->f("address_type_name"); ?></a>
заменить на:
<?php echo $db->f("last_name"). " ". $db->f("first_name"). " (" . $db->f("city"). ", ". $db->f("country"). ")"; ?></a>

Также в «Управление полями, заполняемыми пользователем» скрываем во всех столбцах «Адрес доставки» - address_type_name.

Что получим:
в качестве «кода/условного обозначения адреса доставки» в списке «Управление учетной записью – Адреса доставки» будет выводиться:
- Фамилия Имя (город, код3_страны)
Если надо в другом виде, меняем соответствующим образом вышеуказанную строку.

Проверил, у меня работает.



Дополнение 08.05.11:

если снять с публикации address_type_name и, соответственно, это поле в базе будет пустым, то:

1) Админпанель VirtueMart – Настройки - Пользователи – выбранный Пользователь – вкладка Информация о покупателе – Адрес доставки
не отображаются дополнительные адреса доставок этого пользователя.

\administrator\components\com_virtuemart\html\admin.user_form.php

стр.411
echo $dbt->f("address_type_name"). "</a><br/>";
заменить на
echo $dbt->f('last_name')." ".$dbt->f('first_name')." (".$dbt->f('city').", ".$dbt->f('country').") "."</a><br/>";

Что получим:
в качестве «кода/условного обозначения адреса доставки» будет выводиться в виде ссылки
- Фамилия Имя (город, код3_страны)
Если надо в другом виде, меняем соответствующим образом вышеуказанную строку.


2) В Админпанель VirtueMart - Заказы – Список заказов – выбранный заказ
(или Админпанель VirtueMart – Настройки - Пользователи – выбранный Пользователь – вкладка Список заказов (появляется, если у этого пользователя есть заказ) - выбранный заказ) – одна ссылка –

- есть для смены данных Покупателя выпадающий список Change Billto Address  с перечнем «Фамилия, Имя» Покупателей, имеющих статус «ВТ»;
- и есть для смены адреса доставки выпадающий список Change Shipto Addresss  с перечнем «Фамилия, Имя» Покупателей, имеющих дополнительные адреса доставок со статусом «SТ». И здесь пусто! (кроме default адреса – BT).
но если нажать на пустую строку, соответствующую доп.адресу, доп.адрес выбирается

\administrator\components\com_virtuemart\classes\ps_order_change_html.php
стр.90
$q  = "SELECT user_info_id, address_type_name FROM #__{vm}_user_info WHERE user_id = '" . $user_id . "' ORDER BY address_type_name ASC";
заменить на
$q  = "SELECT user_info_id, last_name, first_name FROM #__{vm}_user_info WHERE user_id = '" . $user_id . "' ORDER BY last_name ASC";
стр.95
print $dbs->f('address_type_name');
заменить на
print $dbs->f('last_name').", ".$dbs->f('first_name');

Что получим:
в выпадающем списке «Фамилия, Имя» из доп.адресов+осн.адреса
Если надо в другом виде, меняем соответствующим образом вышеуказанную строку.


« Последнее редактирование: 08.05.2011, 14:11:36 от fsv »
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

codeshon

  • Захожу иногда
  • 58
  • 2 / 0
  • Аватар в отпуске
Re: Поле ввода кода для нового адреса
« Ответ #18 : 04.05.2011, 00:38:14 »
Ай, МОЛОДЦА, fsv:D :D :D
Спасибо, огромнейшее! Все получилось и работает как надо ^-^
*

fsv

  • Moderator
  • 2665
  • 384 / 2
Re: Поле ввода кода для нового адреса
« Ответ #19 : 04.05.2011, 11:20:30 »
Спасибо.

Но пока готовил этот ответ, заметил у себя ошибку. См. тут:
http://joomlaforum.ru/index.php/topic,163135.new.html

Вечером, если будет время, попытаюсь разобраться. Возможно, есть мысли?

Но больше всего меня интересует, у кого-нибудь такое же есть? Или это я где-то чего-то...

Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

codeshon

  • Захожу иногда
  • 58
  • 2 / 0
  • Аватар в отпуске
Re: Поле ввода кода для нового адреса
« Ответ #20 : 04.05.2011, 11:43:49 »
У меня этой проблемы нет, так как я не использую поля "имя и фамилия" в дополнительных адресах. И у меня всё отображается так:
"Управление учетной записью: Адрес доставки"
*

fsv

  • Moderator
  • 2665
  • 384 / 2
Re: Поле ввода кода для нового адреса
« Ответ #21 : 04.05.2011, 15:56:05 »
У меня этой проблемы нет, так как я не использую поля "имя и фамилия" в дополнительных адресах. И у меня всё отображается так:
"Управление учетной записью: Адрес доставки"

Что-то не могу сходу сообразить, в каких ситуациях нужен дополнительный адрес без Ф.И.
Мне казалось, функция добавления доп.адресов нужна, чтобы предоставить покупателям возможность dropshipping (dropshipment). Соответственно, для отправки по почте эти данные нужны.
Да, не важно... Мало ли у кого что...

А если смоделировать ситуацию и включить Ф.И. и забить пару доп.адресов?
Любопытство разбирает, у кого ручки того...  ::) Я в некоторых файлах чего-то подкручивал, но, вроде, не здесь.
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

codeshon

  • Захожу иногда
  • 58
  • 2 / 0
  • Аватар в отпуске
Re: Поле ввода кода для нового адреса
« Ответ #22 : 04.05.2011, 23:53:44 »
Человек изначально регистрируется с домашним адресом доставки под своими именем и фамилией.
Этот адрес актуален для доставки почтой и курьерской (при наличии услуги)

Дополнительный адрес может быть рабочим или любым другим, но Ф.И. зачем менять-то?
Я так понимаю: одна учетная запись-один человек...
ИМХО

Ну да ладно... Я активировал у себя поля "имя и фамилия", забил адреса, отображается список по-старому. Но я, кстати, изначально список настроил без отображения И.Ф.



Строчка 31 у меня выглядит вот так:

<?php echo $db->f("city"). ", " . $db->f("address_1"). " "; ?></a>

*

fsv

  • Moderator
  • 2665
  • 384 / 2
Re: Поле ввода кода для нового адреса
« Ответ #23 : 05.05.2011, 00:47:37 »
Спасибо большое, что уделили этому вопросу время.
Но я имел ввиду предыдущую страницу - Главную страницу Управления учетной записью.
Но все равно, спасибо.


Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

codeshon

  • Захожу иногда
  • 58
  • 2 / 0
  • Аватар в отпуске
Re: Поле ввода кода для нового адреса
« Ответ #24 : 05.05.2011, 01:33:28 »
Поигрался ещё. Включил поля, добавил адреса с именами, очистил кеш...
В шапке "учетная запись покупателя: Отображается только основное имя пользователя."

Может действительно что-то намудрил в процессе доработки?
Могу выслать свои файлы, если надо.
*

fsv

  • Moderator
  • 2665
  • 384 / 2
Re: Поле ввода кода для нового адреса
« Ответ #25 : 05.05.2011, 20:55:24 »
Уважаемый модератор,

слово за слово, но по моей инициативе чужая тема была засорена другим вопросом.
Прошу посты, начиная с
http://joomlaforum.ru/index.php/topic,67742.msg881236.html#msg881236
и до конца (на текущий момент) перенести в мою тему, к которой они относятся:
http://joomlaforum.ru/index.php/topic,163135.new.html
Спасибо.
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

fsv

  • Moderator
  • 2665
  • 384 / 2
Re: Поле ввода кода для нового адреса
« Ответ #26 : 08.05.2011, 14:18:42 »
дополнил свое сообщение в этой теме от 03.05.20011
http://joomlaforum.ru/index.php/topic,67742.msg880813.html#msg880813

Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

codeshon

  • Захожу иногда
  • 58
  • 2 / 0
  • Аватар в отпуске
Re: Поле ввода кода для нового адреса
« Ответ #27 : 08.05.2011, 15:21:22 »
Спасибо за дополнение! Я даже и внимания не обратил пока на эти косяки...

А вообще, как я понял, изначально нужно было использовать поле "Адрес доставки" (address_type_name) вместо "Адрес 1" (   address_1), предварительно переименовав его в "Адрес" и всё! И не было бы никаких проблем!

На будущее учту.
*

fsv

  • Moderator
  • 2665
  • 384 / 2
Re: Поле ввода кода для нового адреса
« Ответ #28 : 08.05.2011, 16:36:04 »

А вообще, как я понял, изначально нужно было использовать поле "Адрес доставки" (address_type_name) вместо "Адрес 1" (   address_1), предварительно переименовав его в "Адрес" и всё! И не было бы никаких проблем!


Но тогда в списке доп.адресов в поле «условного обозначения/кода адреса» будет только «ул.Улица, дом-кв.».
В вашей ситуации, описанной выше, когда дополнительные адреса относятся непосредственно к самому клиенту, можно и так. Со своими адресами он как-нибудь разберется.
В моей ситуации я предоставляю покупателям возможность dropshipment – покупки у меня c отгрузкой сразу в адрес третьих лиц. В этой ситуации, мне кажется, в обозначении доп.адреса должно быть больше конкретики для более быстрой и удобной идентификации покупателем уже своих собственных клиентов. Особенно, если их много и они из разных городов-стран. Но в этом случае такой код доп.адреса очень сильно раздражает на страницах оформления заказа и в письмах. Поэтому я его убрал.
Сколько ситуаций, столько решений.  ^-^



« Последнее редактирование: 08.05.2011, 16:42:42 от fsv »
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

codeshon

  • Захожу иногда
  • 58
  • 2 / 0
  • Аватар в отпуске
Re: Поле ввода кода для нового адреса
« Ответ #29 : 08.05.2011, 17:13:20 »
Сколько ситуаций, столько решений.  ^-^

Согласен на все 100
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

One Page Checkout (оформление заказа на одной странице) - Скрыть поле по выбору радиобаттон

Автор sashgera

Ответов: 1
Просмотров: 1308
Последний ответ 23.09.2015, 06:02:39
от sashgera
Стиль формы регистрации нового покупателя

Автор d3n4ik

Ответов: 1
Просмотров: 876
Последний ответ 23.05.2014, 11:25:27
от d3n4ik
Поле телефон

Автор One

Ответов: 17
Просмотров: 1538
Последний ответ 21.01.2014, 21:23:17
от One
Как всегда показывать форму ввода данных покупателя при покупке без регистрации?

Автор aikr

Ответов: 1
Просмотров: 1279
Последний ответ 31.10.2013, 13:31:42
от market316
Как вывести в flypage.tpl.php произвольное текстовое поле?

Автор seoblogging

Ответов: 4
Просмотров: 2484
Последний ответ 25.04.2013, 11:48:20
от seoblogging