Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

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

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Всем привет=)
Не подскажите, нужно сделать, чтобы в модуле доставки считалась стоимость доставки как фиксированная + определенный процент от стоимости товара.
Есть модуль доставки Flex, но он один, а нужно несколько вариантов такой доставки. Размножить не удалось.
Капаю стандартный модуль доставки, но никак не могу найти концы переменных.
Помогите пожалуйста.
VM 1.1.2 + Joostina 1.1.3
« Последнее редактирование: 13.05.2009, 14:48:49 от beagler »
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Re: Доставка в процентах
« Ответ #1 : 26.02.2009, 21:36:30 »
 :D
я разобрался. Все оказалось до безумия просто! Я заменил в стандартном модуле "стоимость упаковки" на "процентную стоимость"
В administrator/components/com_virtuemart/classes/shipping/standard_shipping.php
в строке 28:
Код
	global $VM_LANG, $CURRENCY_DISPLAY, $vmLogger ;
$auth = $_SESSION["auth"] ;
заменить на:
Код
	global $VM_LANG, $CURRENCY_DISPLAY, $vmLogger, $total, $tax_total;
$auth = $_SESSION["auth"] ;

if ( $_SESSION['auth']['show_price_including_tax'] != 1 ) {
$taxrate = 1;
$order_total = ($total + $tax_total)/100;
}
else {
$taxrate = $this->get_tax_rate() + 1;
$order_total = $total/100;
}
в строке 86:
Код
$total_shipping_handling = $dbr->f( "shipping_rate_value" ) + $dbr->f( "shipping_rate_package_fee" ) ;
заменить на:
Код
$total_shipping_handling = $dbr->f( "shipping_rate_value" ) + ($dbr->f( "shipping_rate_package_fee" )*$order_total) ;
в строке 191:
Код
			$rvalue["pack_rate"] = $dbr->f( "shipping_rate_package_fee" ) ;
$rvalue["total_rate"] = $dbr->f( "shipping_rate_value" ) + $dbr->f( "shipping_rate_package_fee" ) ;
заменить на:
Код
			$rvalue["pack_rate"] = $dbr->f( "shipping_rate_package_fee" )*$order_total ;
$rvalue["total_rate"] = $dbr->f( "shipping_rate_value" ) + ($dbr->f( "shipping_rate_package_fee" )*$order_total) ;
Ну и чисто формальность в administrator/components/com_virtuemart/languages/shipping/russian.php
Код
	'PHPSHOP_RATE_FORM_PACKAGE_FEE' => 'Стоимость доставки в процентах',
*

Solser

  • Захожу иногда
  • 64
  • 16 / 1
Re: Доставка в процентах
« Ответ #2 : 13.05.2009, 11:57:45 »
Спасибо. Действительно просто и изящно. И очень полезно:)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться