Форум русской поддержки Joomla!® CMS
03.12.2016, 21:38:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3  Все   Вниз
  Добавить закладку  |  Печать  
Автор

[Решено] Как связать доставку и оплату? Joomla 1.5.* + VirtueMart 1.1.*

 (Прочитано 42207 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Solser
Осваиваюсь на форуме
***

Репутация: +16/-1
Offline Offline

Сообщений: 70


« : 08.03.2009, 23:11:49 »

Joomla 1.5.9 + VirtueMart 1.1.3.

Есть задача - связать вариант доставки и вариант оплаты. То есть, если клиент выбрал определенный тип доставки, ему могут быть доступны только определенные варианты оплаты (не все, которые включены). Использую стандартный модуль доставки.
« Последнее редактирование: 12.11.2009, 15:04:38 от beagler » Записан
 
турист
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 159



« Ответ #1 : 18.07.2009, 02:07:19 »

Joomla 1.5.9 + VirtueMart 1.1.3.

Есть задача - связать вариант доставки и вариант оплаты. То есть, если клиент выбрал определенный тип доставки, ему могут быть доступны только определенные варианты оплаты (не все, которые включены). Использую стандартный модуль доставки.
Та же проблема. J1.5.11 VM1.1.3 Два вида доставки: курьером и Почтой России, два вида оплаты: наличными при получении и через банк. Нужно привязать оплату наличными к доставке курьером, а оплату через банк к доставке почтой. Кто помочь может??? Уже гусь последний улетел... Не могу въехать и всё тут!!!
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5313


Крепитесь, други.


« Ответ #2 : 18.07.2009, 06:29:30 »

Со стандартным модулем доставки есть решение на англоязычном форуме.
Записан
Solser
Осваиваюсь на форуме
***

Репутация: +16/-1
Offline Offline

Сообщений: 70


« Ответ #3 : 18.07.2009, 22:56:43 »

Спасибо, поищем.
Но было бы совсем здорово, хотя бы ссылочку Wink
Записан
beagler
Moderator
*****

Репутация: +389/-4
Offline Offline

Пол: Мужской
Сообщений: 3307


beagler dot ru


« Ответ #4 : 18.07.2009, 23:32:05 »

VirtueMart.net
Записан
Solser
Осваиваюсь на форуме
***

Репутация: +16/-1
Offline Offline

Сообщений: 70


« Ответ #5 : 18.07.2009, 23:38:38 »

Тогда уж скорее http://forum.VirtueMart.net/, только там около 60 страниц по поиску shipping module, и все попытки найти там решение этой проблемы (а они предпринимались, разумеется, и периодически предпринимаются) пока к успеху не привели. Smiley
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5313


Крепитесь, други.


« Ответ #6 : 19.07.2009, 14:52:20 »

payment shipping надо спрашивать, тогда меньше страниц будет.
Записан
olomutsky
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #7 : 23.10.2009, 20:25:16 »

Кто-то уже нашел решение этой задачи? Поделитесь пожалуйста, очень нужно желательно на русском  Smiley !
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5313


Крепитесь, други.


« Ответ #8 : 24.10.2009, 16:01:00 »

На русском публиковал на этом форуме для 1.0.15 версии, для 1.1 не делал пока.
Записан
olomutsky
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #9 : 24.10.2009, 21:15:19 »

На русском публиковал на этом форуме для 1.0.15 версии, для 1.1 не делал пока.
А можно узнать приблизительные сроки, когда у вас будет возможность переделать его для 1.1 ? Очень нуждаюсь в этом модуле и наверно не я один, а сам в написании данного модуля я не силен и остается надеяться только на вас.
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5313


Крепитесь, други.


« Ответ #10 : 26.10.2009, 08:02:32 »

Сроков нету, т.к. нет необходимости пока, но вполне возможно что необходимость появится.
Записан
Solser
Осваиваюсь на форуме
***

Репутация: +16/-1
Offline Offline

Сообщений: 70


« Ответ #11 : 12.11.2009, 14:54:01 »

В общем опробовал решение, найденное на буржуйском форуме. Прикладываю патч и инструкцию. Решение привязывает возможные варианты оплаты к конкретному варианту доставки. Требуется, чтобы на фронтэнд сначала шел выбор доставки, а потом уже выбор оплаты. Инструкция есть на английском.Вкратце : надо прогнать скрипт, указанный в инструкции (заменив название базы на Вашу и префикс таблицы - обычно jos_vm_ ) и заменить файлы. Решение сделано для   - Joomla V1.5.7 - - VirtueMart 1.1.2 stable  (PHP 5.2.5 - Mysql 5.0.45-community-nt ). Если надо для более высоких версий, то просто сравниваем файлы патча и вставляем изменения (которые маркируются //ESOL  ).  Правда у меня образовался глюк в админзоне (не сохраняется выбор в БД), пришлось вручную заполнять таблицу напрямую. С чем связано, не знаю, может с версией PHP. Если кто найдет ошибку и исправит, будет неплохо. Но на фронтэнде работает всё корректно.

[вложение удалено Администратором]
Записан
beagler
Moderator
*****

Репутация: +389/-4
Offline Offline

Пол: Мужской
Сообщений: 3307


beagler dot ru


« Ответ #12 : 12.11.2009, 15:03:37 »

+1
Прикрепляю.
Записан
ghola
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #13 : 23.11.2009, 19:38:37 »

Solser  спасибо за решение   Cheesy

Правда у меня образовался глюк в админзоне (не сохраняется выбор в БД), пришлось вручную заполнять таблицу напрямую. С чем связано, не знаю, может с версией PHP. Если кто найдет ошибку и исправит, будет неплохо. Но на фронтэнде работает всё корректно.

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

Связка у меня такая же как и у тебя. Joomla 1.5.9 + VirtueMart 1.1.3.
« Последнее редактирование: 23.11.2009, 19:53:24 от ghola » Записан
Solser
Осваиваюсь на форуме
***

Репутация: +16/-1
Offline Offline

Сообщений: 70


« Ответ #14 : 23.11.2009, 22:07:40 »

Если Вы всё правильно сделали (а именно прогнали скрипт для БД), то в БД должна появиться таблица
jos_vm_shipping_rate_payment_method_xref.

Там всего три столбца:

shipping_rate_payment_method_id - (это собственный ID, назначаем тупо по порядку на каждую строку)
shipping_rate_id - (это ID тарифа доставки .Его берем из таблицы jos_vm_shipping_rate)
payment_method_id - (Это ID способа оплаты. Его берем из таблицы  jos_vm_payment_method).

Подключаемся к БД (хотя бы с помощью phpmyadmin), и заполняем таблицу jos_vm_shipping_rate_payment_method_xref строками, сопоставляя нужному ID тарифа доставки, разрешенный ID способа оплаты. Если одному тарифу доставки соответствует несколько способов оплаты, то соответственно делаем несколько строк-сопоставлений. Все не очень сложно, главное внимательно делать.


Записан
ghola
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #15 : 23.11.2009, 22:29:17 »

Я извиняюсь, не  очень разбираюсь в sql.   Sad   Уважаемый Solser,  покажите хотя бы аналогию создания одной записи в этой таблице
Вот так она у меня выглядит.

Записан
Solser
Осваиваюсь на форуме
***

Репутация: +16/-1
Offline Offline

Сообщений: 70


« Ответ #16 : 23.11.2009, 22:46:00 »

Выглядит очень привлекательно даже. Если внимательно посмотрите, там в верхних горизонтальных закладках есть закладка "Вставить". Вот Вам туда.  Там заполняем верхнюю табличку значениями  выбираем "вставить новую запись" и нажимаем "пошел". И так заполняем, пока не внесем все соответствия. Делая последнее , выбираем "возврат".


[вложение удалено Администратором]
« Последнее редактирование: 23.11.2009, 22:51:28 от Solser » Записан
ghola
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #17 : 23.11.2009, 22:50:36 »

Solser, спасибо тебе за терпение и ответы.  drink
Записан
savenko
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 83


« Ответ #18 : 19.12.2009, 01:29:49 »

Если Вы всё правильно сделали (а именно прогнали скрипт для БД), то в БД должна появиться таблица
jos_vm_shipping_rate_payment_method_xref.
Что за скрипт? Как его прогнать?
Записан
sereja_rwb
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Сообщений: 28


« Ответ #19 : 23.12.2009, 23:27:47 »

Поставил работает, проблему с записью в базу данных решилась просто....
все заполняю, ПРИМЕНЯЮ, страница обновляется, заново тыкаю-выбираю спообы оплаты и сохраняю и все работает

Пасибки за перевод, очень нужная вещь
Записан
sereja_rwb
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Сообщений: 28


« Ответ #20 : 23.12.2009, 23:28:46 »

Цитировать
Если Вы всё правильно сделали (а именно прогнали скрипт для БД), то в БД должна появиться таблица
jos_vm_shipping_rate_payment_method_xref.
Что за скрипт? Как его прогнать?

Делаешь SQL запрос в базе данных

CREATE TABLE `biz_vm_shipping_rate_payment_method_xref` (`shipping_rate_payment_method_id` INTEGER NOT NULL DEFAULT NULL AUTO_INCREMENT, `shipping_rate_id` INTEGER NOT NULL,`payment_method_id` INTEGER NOT NULL, PRIMARY KEY (`shipping_rate_payment_method_id`));

       
Где  biz_vm  префикс базы и магазина
Записан
Alur
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #21 : 10.01.2010, 19:43:21 »

А если используется сторонний модуль доставки?
Например: russianpost_1.0.4, как отключить оплату курьером?

Так понимаю, что надо новую таблицу составлять, что ставить вместо shipping_rate_id ?
Записан
Dobryak
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 109


« Ответ #22 : 12.01.2010, 18:26:37 »

Автору респект! Большое спасибо!
У меня кроме варианта доставки Почтой России есть еще два способа:
- Ценная посылка наземным транспортом
- Ценная посылка воздушным транспортом
Они остаются без способа оплаты.... Angry
Как к ним привязать все эти способы оплаты? Поделитесь кто сделал!
« Последнее редактирование: 12.01.2010, 19:01:44 от Dobryak » Записан
NEKTO666
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #23 : 26.01.2010, 12:39:00 »

спасибо за полезный хак! получилось связать варианты доставки с методами оплаты.

Только есть один момент, который тут уже поднимался. У меня стоит модуль доставки Почта России 1.04. Этот модуль работает мимо таблицы vm_shipping_rate и ему не присваивается shipping_rate_id. Это самое id присваивается только вариантам доставки, настроенным через Standard Shipping Module. Отсюда вопрос: может кто-нибудь знает как присвоить shipping_rate_id другим модулям доствки кроме стандартного?

Тема думаю актуальная для многих, кто пользуется модулями доставки кроме стандартного.
Напишите кто победил эту траблу!
Записан
rudon
Осваиваюсь на форуме
***

Репутация: +17/-0
Offline Offline

Сообщений: 27


« Ответ #24 : 10.03.2010, 01:00:48 »

Я смог связать оплату и доставку при использовании сторонних модулей доставки (в моем случае "Почта России" и "СПСР-Экспресс")

Работает только вместе с вышеприложенными файлами.
Для этого Вам необходимо вручную внести в созданную таблицу новые связи доставки и оплаты. Как это сделать указано выше в теме.
ВНИМАНИЕ! Через админ зону этого сделать не получится!

Итак, для начала я определили какие id у меня будут присвоены каждому строннему модулю.
Например:

СПСР-Экспресс  (spsr_f.php) - id 1001
Почта России (russinpost.php) - id 1002

После этого заполняю таблицу, где в  shipping_rate_id указываю выбранный id строннего модуля доставки, а в payment_method_id - способы оплаты, которые будут дествительны для этой доставки.

Далее по адресу ..\administrator\components\com_virtuemart\classes\shipping
нахожу файл доставки и в нем ищу строчку похожую на эту

Код:
$shipping_rate_id = urlencode( $this->classname."|СПСР-Экспресс|Доставка курьером|".$total);

и к ней в конце добавляю id выбранный для данного модуля  (."|1001")

Код:
$shipping_rate_id = urlencode( $this->classname."|СПСР-Экспресс|Доставка курьером|".$total."|1001");

Для почты России эта строчка выглядит чуть иначе:

Код:
$value = urlencode( $this->classname."|Russian Post|".$rate_name[$key]."|".$rate_cost[$key]);

также в конце добавляем id  (."|1002")

Код:
$value = urlencode( $this->classname."|Почта России|".$rate_name[$key]."|".$rate_cost[$key] ."|1002");

Тестировал на денвере. вроде работает.  Проверяйте.

PS Сделать так чтобы все эти данные автоматически вставлялись я не смог, т.к. не умею. Если найдется человек, который доведет до ума все это, буду ему благодарен.

При использовании почты России  меня выводится только оптимальный вариант перевозки, как быть с

У меня кроме варианта доставки Почтой России есть еще два способа:
- Ценная посылка наземным транспортом
- Ценная посылка воздушным транспортом
Они остаются без способа оплаты.... Angry
Как к ним привязать все эти способы оплаты? Поделитесь кто сделал!

не знаю, ибо таким вопросом не задавался, возможно заработает, а может нет
« Последнее редактирование: 10.03.2010, 08:44:50 от rudon » Записан
shaburov
Гость
« Ответ #25 : 11.06.2010, 00:08:16 »

 ! ! ! Ребят очень нужна ваша помощь. Сделал все как было написано инарисовано, но при выборе доставки вылетает ошибка с просьбой выбрать другой способ доставки... ЧТО МНЕ ДЕЛАТЬ?
Записан
Gremlin
Давно я тут
****

Репутация: +11/-0
Offline Offline

Сообщений: 293


« Ответ #26 : 21.07.2010, 08:02:42 »

! ! ! Ребят очень нужна ваша помощь. Сделал все как было написано инарисовано, но при выборе доставки вылетает ошибка с просьбой выбрать другой способ доставки... ЧТО МНЕ ДЕЛАТЬ?

У меня выскакивало такое сразу после применения хака - просто сразу нужно привязать доставки к способам оплаты! Для этого заходим в тарифы доставки и все тарифы перенастраиваем - привязываем их к способам оплаты Wink
Записан
fl-rost
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 17



« Ответ #27 : 17.08.2010, 17:48:39 »

Все господа. мой мозг сломан окончательно. Я уже не знаю что делать и куда чего настраивать чтобы это заработало.
ПОсле настройки БД у меня стало отображаться только оплата кредитными картами из всех доступных. Скажите, где чего еще настраивать, если после добавки всех строчек в БД и последующей настройки-привязке каждого способа оплаты, у меня на сайте так ничего и не вылазит?


Я не профи, поэтому прошу объяснить поэтапно, пожалуйста!
Список Вариантов доставки:


Список способов оплаты:





Все варианты доставки включила пока временно....
Записан
fl-rost
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 17



« Ответ #28 : 20.08.2010, 01:44:31 »

все настроила так что вопрос снят.
Записан
fl-rost
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 17



« Ответ #29 : 20.08.2010, 02:26:27 »

оказалось все настолько элементарно просто. Я даже не знаю, зачем ломать голову таблицами и базами данных?
Мне нужно было, чтобы при оформлении человек указывал как ему доставить. Вот такими способами. И чтоб от выбора способа приплюсовывалось к сумме заказа (плюсики вы видите).


Как сделать:
магазин-способы оплаты-создать новый
В окошечке просто ставим вот так. Там где скидка - просто пишем минус стоимость доставки.


А всего то надо было прочитать подсказку! там так и написано, "чтобы преобразовать скидку в оплату используйте отрицательное число"  Grin
Записан
Страниц: [1] 2 3  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet