Расчет стоимости доставки товаров в магазине Virtuemart в зависимости от суммы заказа

Logo
Расчет стоимости доставки товаров в магазине Virtuemart в зависимости от суммы заказа

Это вторая статья по настройке доставки товаров в Virtuemart и в ней мы рассмотрим способ, как реализовать расчет стоимости доставки в зависимости от суммы заказа в вашем магазине, работающем на Joomla и Virtuemart. В первой статье цикла «Настройка доставки в Virtuemart» мы подробно рассмотрели настройку стандартного модуля доставки Virtuemart, который позволяет решить проблемы с доставкой в большинстве случаев, поэтому если вы еще не успели ознакомиться с этой статьей, то сейчас самое время это сделать.

Также чисто для себя, а также для всех читателей хочется отметить, что это 100-я статья на блоге dmitriydenisov.com. Таким образом, со дня первой публикации прошло целых 380 дней! При этом средняя частота публикаций составляет 1 статью в 3-4 дня. На мой взгляд, это вполне неплохой показатель, учитывая тот факт, что для меня, прежде всего всегда было качество материалов, а не их количество.

Итак, отметку мы сделали и теперь можем приступить непосредственно к руководству по настройке доставки в Virtuemart.

Настройка доставки в зависимости от суммы заказа в Virtuemart

Первым делом нам нужно активировать соответствующий модуль в общих настройках компонента Virtuemart. Для этого переходим в Административную панель – Компоненты – VirtueMart – Настройки – Настройки – Вкладка «Доставка» и активируем пункт «Фиксированный тариф, на основе введенных данных».

Фиксированный тариф доставки на основе введенных данных

Далее сохраняем результат и переходим к настройке тарифов доставки в зависимости от суммы заказа. Для этого переходим в Магазин – Список модулей доставки, находим там модуль «shipvalue» и жмем по ссылке «Настроить вариант доставки». В результате в открывшемся окне вы сможете настроить стоимость доставки в зависимости от того, на какую сумму клиент сделает заказ.

Настройка модуля Shipvalue Virtuemart

  • Order total value 1 – вводим максимальную сумму заказа для первого варианта.
  • Shipping charge 1 – вводим стоимость доставки, которая будет автоматически рассчитываться для всех заказов, стоимость которых не превышает значение, указанное в «Order total value 1».

Аналогичным образом мы можем заполнить остальные девять полей. В примере выше видно, что если сумма заказа будет меньше 100 долларов, то стоимость доставки составит 10$. Если же сумма заказа будет находиться в пределах от 100$ до 1000$, то стоимость доставки изменится и составит уже не 10$, а 5$ и т.д. Как видите все очень просто и понятно.

После сохранения результата при оформлении заказа станет доступным еще один способ доставки, который будет выглядеть следующим образом.

Пример работы модуля Shipvalue Virtuemart

Теперь перейдем к следующему этапу и рассмотрим процесс русификации модуля доставки Shipvalue.

Настройка и русификация модуля доставки Shipvalue

Для того чтобы перевести текст «Standard Shipping» или заменить его на свой, открываем на редактирование файл shipvalue.php, который находится в папке по адресу administrator/components/com_virtuemart/classes/shipping/ и заменяем в нем нужные участки текста на свои. Сделать это можно при помощи бесплатного текстового редактора NotePad++. Для этого жмем в программе комбинацию клавиш CTRL+F, переходим во вкладку «Заменить» и вводим тексты для замены, как это показано на изображении ниже.

Замена текста в модуле Shipvalue Virtuemart

Поскольку мы вносили в документ русский текст, то перед сохранением нам нужно преобразовать файл в UTF8 без BOM. Если этого не сделать, то у вас возникнут проблемы с отображением русских символов. Осуществить преобразование можно во вкладке «Кодировки» программы NotePad++. После сохранения документа и обновления страницы на сайте, у вас должно получиться примерно следующее.

Пример работы переведенного Shipvalue Virtuemart

Теперь можно перейти к завершающему этапу и заменить еще один участок кода, который отображается на странице завершения заказа. Для этого открываем все тот же файл shipvalue.php и заменяем в нем текст «STD|Standard Shipping under», как это показано на изображении.

Перевод Shipvalue Virtuemart на русский

Естественно вы можете заменить исходный текст на любой другой, понравившийся вам. На данный момент это не важно. Главное понять, где и как все это делается. После внесения изменений не забываем сохранить результат и проверить работу сайта. На странице завершения заказа у вас должна замениться соответствующая фраза в поле «Тариф доставки».

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

На этом все. Удачи вам и успехов в создании сайтов на Joomla и Virtuemart.

 

Обнаружили ошибку? Выделите ее и нажмите Ctrl+Enter

Комментарии 6

  • Александр

    Да но как сделать чтоб если сумма > оредел. значения, то доставка бесплатна по городу. Но в другие регионы был бы выбор курьерской службы, который так же пропадает и соответственно тарифы вне города вроде как мне оплачивать.

  • Дмитрий

    На блоге есть еще одна статья по доставке. Посмотрите ее. Думаю, имеющихся в Virtuemart вариантов доставки будет достаточно, чтобы решить любые задачи. В крайнем случае можно подыскать соответствующий модуль, который будет выполнять эти действия.

  • Олег

    Спасибо, очень помогло!

  • Дмитрий

    Олег, спасибо за комментарий! Рад, что данная статья оказалась для Вас полезной.

  • Руслан

    Дмитрий, спасибо за подробное описание работы модуля оплаты виртуемарт по фиксированному тарифу.
    Интересут также вопрос, когда стоимость доставки зависит от количества товара. К примеру:
    в корзине 1шт. — стоимость доставки — 100 руб.;
    в корзине 2шт. — стоимость доставки — 150 руб.;
    и т.д.
    Можно ли это реализовать одним из встоенных моделей оплаты виртуемарт?

  • Дмитрий

    Руслан, я уже не работаю с данным компонентом, поэтому вряд ли смогу помочь. Большую часть уже подзабыл. Информации поступает много, поэтому она потихоньку замещается. Попробуйте поэкспериментировать. Создайте тестовый сайт и тестируйте разнообразные модули пока не найдете стоящий. Или же вручную реализуйте, если разбираетесь в программировании. Или же наиболее простой способ — обратитесь на специализированный форум. Там много специалистов, которые работают именно с данным компонентом, поэтому они уж точно смогут дать дельный совет.

Оставить комментарий

отменить ответ