Новости Joomla

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

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Измененные файлы в приложенном архиве.
Работает для вирта 1.0.15.
Сделано на основе хака
http://forum.virtuemart.net/index.php?topic=29963.0
Хак, на основе которого я сделал свой работает только со стандартным модулем доставки, мой работает со всеми (или почти со всеми).
Инструкция по установке в файле ридми в архиве.

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

Spirit_luna

  • Новичок
  • 8
  • 0 / 0
А можно такое же придумать для virtuemart 1.1.3
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Для 1.1.3 есть решения там-же на буржуйском форуме, просто в другой ветке. Искать по ключевикам "shipping payment". Правда видел опять-же только для стандартной доставки.
*

Spirit_luna

  • Новичок
  • 8
  • 0 / 0
А подобный хак, как для 1.0, организовать сильно сложно?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Скорее всего не сложно, но не делал.
*

Spirit_luna

  • Новичок
  • 8
  • 0 / 0
А зяняться созданием, возможно даже на платной основе, желания нет?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Если найду вемя посмотрю. Спонсорская помощь не возбраняется, но только после изготовления.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Нашел глюк - если меняешь настройки вирта из virtuemart.cfg.php стираются все строки написанные вручную. Перенес блок

global $psms;
   $psms[0] = array("id"=>"1000", "name"=>"russianpost");
   $psms[1] = array("id"=>"1001", "name"=>"spsr_f");

в virtuemart_parser.php в самое начало после строки defined... Оттуда тоже работает и не стирается.
*

Spirit_luna

  • Новичок
  • 8
  • 0 / 0
Arkadiy, как появится время, пишите. Надеюсь общий язык найдем :)
*

SANTemp

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Arkadiy.
У меня ВМРЕ 1.0.15b на Joomla! 1.0.12. Хотел сделать зависимые оплату и доставку. Все сделал по Вашей рецептуре, но счастья не случилось. При попытке отредактировать способы оплаты видим: Связь способа оплаты со способом доставки: пусто. Только прокрутка. И  Warning: Invalid argument supplied for foreach() in ...\administrator\components\com_virtuemart\html\store.payment_method_form.php on line 125. Таблица jos_vm_ship_pay_xref - пустая. Нет ни оплаты ни доставки, хотя я пересохранял способы доставки.
Как бы это починить?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
А какие методы доставки у тебя есть и опубликованы?
*

SANTemp

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
В virtuemart.cfg.php :
/* Shipping Methods Definition */
global $PSHOP_SHIPPING_MODULES;
$PSHOP_SHIPPING_MODULES[0] = "flex";
$PSHOP_SHIPPING_MODULES[1] = "russianpost";

Вставлялось и в virtuemart.cfg.php и в virtuemart_parser.php:

/*------- Вставка связи доставки и оплаты-------------------

 global $psms;
    $psms[0] = array("id"=>"1000", "name"=>"flex");
    $psms[1] = array("id"=>"1001", "name"=>"russianpost");

/*----------------------------------------------------------
Результат одинаков.

Мысли вслух.
Было бы хорошо, что бы каждому способу доставки сопоставлять несколько вариантов оплаты.
Пример:
Курьерская доставка (не только частным лицам, но и компаниям) --> Наличные, Web деньги, Безнал (Сбербанк).
Почта --> Простая бандероль   --> Web деньги, Безнал (Сбербанк).
         --> ..........................   --> Web деньги, Безнал (Сбербанк).
         --> Наложенный платеж --> Наличные
А то, честно говоря, уже достали выбирать доставку самой дешевой простой бандеролью, а способ оплаты при этом - наличными при получении. Конечно, это моя недоработка. У клиента не должно быть возможности ошибиться.
« Последнее редактирование: 26.07.2009, 12:08:02 от SANTemp »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
standard_shipping попробуй включить, появится что или нет?
*

SANTemp

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Не помогло.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Проверь все-ли сделал правильно, у меня работает на локали и на сайте.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Попробуй вставить свои
$psms[0] = array("id"=>"1000", "name"=>"flex");
$psms[1] = array("id"=>"1001", "name"=>"russianpost");

в строку 123 store.payment_method_form.php
*

SANTemp

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Это не заработало. Работает, если создать более 1 тарифа и соответственно вариантов доставки. При этом модуль rassianpost со своим собственным выбором бандеролей/посылок не работает. Это немного не то, что надо. Если судить по таблице jos_vm_ship_pay_xref, то все поля данных (варианты доставки/оплаты) - уникальные. Т.е. Сбербанк я могу прицепить только к единственной доставке и наоборот. Это не гуд. Нужна кросс таблица размерностью [варианты оплаты]X[варианты (модули) доставки]. Тогда при выборе доставки получаем все многообразие доступных способов расплаты. Причем для Почты России пришлось бы поизвращаться с её собственными вариантами доставки.
Наверное придется писать жесткую обработку вариантов расплаты. Вот только не знаю в каком .php это делать и где брать данные о выбранном способе доставки, и как это вообще делается ( <--- смотри на портрет). Большой опыт программиста всевозможного "железа" для сайтостроения не подходит.
Аркадий, если это не составит тебе большого труда, покажи пальцем, где "клад копать"!?
« Последнее редактирование: 26.07.2009, 21:21:01 от SANTemp »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Любой вариант оплаты можно привязывать к любым способам доставки. Что касается привязки способа оплаты к способу доставки к вариантам внутри модуля доставки - не вижу необходимости.
*

SANTemp

  • Осваиваюсь на форуме
  • 11
  • 2 / 0
Необходимость есть. Пример. В Почте России есть простые бандероли/посылки и с наложенным платежом. Разница в цене очень существенная. В первом случае - предоплатой любой безнал, во втором - только налом при получении на почте. Любимое занятие клиентов (до 70%) пытаться расплатиться за простую дешевую бандероль наличными при получении.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Да никакой необходимости нет, делаешь способ оплаты - наложенный платеж на почте России и предупреждаешь что за наложенный платеж клиент доплатит 5-10 % стоимости заказа, привязываешь его к модулю почты России.

Спасибо! Все отлично работает. За исключением одного момента...

Virt 1.0.15, В настройках магазина стоит бесплатная доставка при заказе на сумму больше 1800 р. Если сформировать такой заказ - то нет возможности выбрать способ оплаты. Выберите способ оплаты и пусто...
В чем может быть дело?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Бесплатную доставку можно вынести из настроек в модули доставки, иначе работать не будет т.к. видимо при такой настройке в заказе больше указанной суммы вообще не используются модули доставки.
*

rudon

  • Осваиваюсь на форуме
  • 27
  • 17 / 0
Arkadiy

Попробывал перенести Ваш хак на VirtueMart 1.1.3 и Joomla 1.5.15

Практически все получилось:
1) Новая таблица в базе появилась
2) в настройках способа оплаты есть мультименю для выбора вариантов доставки работающих с этим способом оплаты
3) При сохранении способа оплаты данные о доставке корректно вносятся в созданную таблицу.


Однако вывести способы оплаты при оформлении товара не могу..  они просто не показываются.
На мой взгляд ошибка кроется где-то в районе 490 строки файла ps_payment_method.php

if($db_s->num_rows())

Если данную строку закомментировать, то способы оплаты появляются, но все, то есть без привязки к доставке
если не комментировать, то ни один из способов доставки не появляется,
Если же вместо if($db_s->num_rows()) написать if($db->num_rows())   то способы оплаты появлябтся, но без привязки.

Решение в данном случае думаю какое то элементарное, но я вообще не силен в php

Если Вам не сложно, то гляньте приложенные файлы, возможно сможете помочь.

Если все получится, то позже выложу в этом сообщении хак для 1.1.3. с подробными инструкциями для остальных пользователей


Вхождение кода в файлах означал //Вхождение 1....
Окончание модифицированного кода //Окончание 1...


PS Порядок оформления заказа менять пробывал (Сначала способ доставки - затем оплата, и наоборот)

http://ifolder.ru/16712014
« Последнее редактирование: 06.03.2010, 09:14:34 от rudon »
*

Voolter

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Помогите пожалуйста ! Хочу изменить цену доставки на "Договорная"  Что бы при выборе варианта доставки цена была " Договорная".
Вариант доставки   Тариф доставки            Цена

С доставкой             Доставка по РФ           Договорная

Вот как то так.

Или как вообще убрать столбец цены, при выборе доставки.?
Может кто нибудь знает как??
*

rudon

  • Осваиваюсь на форуме
  • 27
  • 17 / 0
щас тарифы выводятся, но все. и не опознается ship_id, т.е. $ship возвращается пустым, но таблица при этом заполнена правильно

SELECT xref_id FROM #__{vm}_ship_pay_xref WHERE ship_id='' AND payment_id='2'
« Последнее редактирование: 08.03.2010, 18:09:57 от rudon »
*

rudon

  • Осваиваюсь на форуме
  • 27
  • 17 / 0
Найден способ связать доставку и оплату для VirtueMart 1.1.3 (в том числе "Почта России" и "СПСР-Экспресс"

Подробнее тут http://joomlaforum.ru/index.php/topic,57922.0.html

На решение натолкнул это хак с изменениями от Arkadiy
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Автоматический расчет цена в зависимости от веса товара

Автор yura1off

Ответов: 0
Просмотров: 1659
Последний ответ 06.12.2011, 10:30:34
от yura1off