Новости Joomla

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

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

sa1981

  • Захожу иногда
  • 80
  • 0 / 0
У меня тариф доставки всегда равен нулю, как мне избавиться от суммы тарифа доставки на последнем этапе оформления заказа. В месте "Пожалуйста, проверьте введенные данные и подтвердите заказ!" Там идет Адрес:...Тариф доставки:Поста;Тариф Почты России; 0,00Rur (как мне вырезать 0,00Rur)?
Открываю файл components/com_virtuemart/themes/default/templates/checkout/get_final_confirmation.tpl.php
там нахожу код:
Код
echo '<tr><td valign="top"><strong>'.$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_METHOD'). ":</strong></td>";
$rate_details = explode( "|", $shipping_rate_id );
echo '<td>';
foreach( $rate_details as $k => $v ) {
// thepisu: old sample data cointaned "&gt;" instead of ">"...
// so we don't have to make safe if "&gt;" is found
if (strpos($v,"&gt;")===false) {
$v = shopMakeHtmlSafe($v);
}
if( $k == 3 ) {
echo $CURRENCY_DISPLAY->getFullValue( $v )."; ";
} elseif( $k > 0 && $k < 4) {
echo $v.'; ';
}
}
echo "</td></tr>";

Путем эксперимента не могу найти сумму где вырезать, подскажите знающие люди, что именно удалить в этом коде.
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Код
echo '<tr><td valign="top"><strong>'.$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_METHOD'). ":</strong></td>";
$rate_details = explode( "|", $shipping_rate_id );
echo '<td>';
echo $rate_details[0]."; ".$rate_details[1] ;
echo "</td></tr>";
Веб-разработка: заказ. Только новая разработка.
*

sa1981

  • Захожу иногда
  • 80
  • 0 / 0
Вот этот код есть строки 60-62
Цитировать
echo '<tr><td valign="top"><strong>'.$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_METHOD'). ":</strong></td>";
$rate_details = explode( "|", $shipping_rate_id );
echo '<td>';
А вот кода
Цитировать
echo $rate_details[0]."; ".$rate_details[1] ;
echo "</td></tr>";
там нет
Если удалить первую часть которая есть то пишет ошибку
Warning: Invalid argument supplied for foreach() in /home/u2948893/public_html/components/com_virtuemart/themes/default/templates/checkout/get_final_confirmation.tpl.php on line 61
*

fsv

  • Moderator
  • 2781
  • 410 / 2
А вот кода
echo $rate_details[0]."; ".$rate_details[1] ;
echo "</td></tr>";
там нет
Конечно, нет.
Замените весь ваш блок кода из первого сообщения на мой.
Веб-разработка: заказ. Только новая разработка.
*

sa1981

  • Захожу иногда
  • 80
  • 0 / 0
Заменила результат ошибка: Warning: Invalid argument supplied for foreach() in /home/u2948893/public_html/components/com_virtuemart/themes/default/templates/checkout/get_final_confirmation.tpl.php on line 61
Что не так?
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Ошибка аргумента функции foreach, которую вы должны были удалить. Как может быть ошибка того, чего нет?
Покажите измененный код.
Веб-разработка: заказ. Только новая разработка.
*

sa1981

  • Захожу иногда
  • 80
  • 0 / 0
Цитировать
// Print out the Selected Shipping Method
if(!ps_checkout::noShippingMethodNecessary()) {
echo $rate_details[0]."; ".$rate_details[1] ;
echo "</td></tr>";
    {
      // thepisu: old sample data cointaned "&gt;" instead of ">"...
      // so we don't have to make safe if "&gt;" is found
      if (strpos($v,"&gt;")===false) {
         $v = shopMakeHtmlSafe($v);
      }
      if( $k == 3 ) {
         echo $CURRENCY_DISPLAY->getFullValue( $v )."; ";
      } elseif( $k > 0 && $k < 4) {
         echo $v.'; ';
      }
   }

   echo "</td></tr>";
}
Ошибка пропала но и строчка Тариф доставки пропала полностью вместо неё ;, а вопрос был в том что бы удалить не строчку, а последнюю запись в строчке 0,00Rur
« Последнее редактирование: 18.05.2013, 00:20:51 от sa1981 »
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Ошибка пропала но и строчка Тариф доставки пропала полностью вместо неё ;, а вопрос был в том что бы удалить не строчку, а последнюю запись в строчке 0,00Rur
Каша какая-то в коде. Одно на другое заменить не можете?
Цитировать
Замените весь ваш блок кода из первого сообщения на мой.
из "Ответ#1"
с поправкой:
не
echo $rate_details[0]."; ".$rate_details[1] ;
а
echo $rate_details[1]."; ".$rate_details[2] ;
, нулевой элемент этого массива должен быть класс, он вам не нужен.
Веб-разработка: заказ. Только новая разработка.
*

sa1981

  • Захожу иногда
  • 80
  • 0 / 0
Ура всё получилось!
Вам+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Номер заказа в модуле

Автор sashgera

Ответов: 0
Просмотров: 3159
Последний ответ 28.02.2016, 22:44:30
от sashgera
One Page Checkout (оформление заказа на одной странице) - Скрыть поле по выбору радиобаттон

Автор sashgera

Ответов: 1
Просмотров: 3901
Последний ответ 23.09.2015, 06:02:39
от sashgera
Зависимый селект при оформлении заказа

Автор sashgera

Ответов: 1
Просмотров: 3276
Последний ответ 29.07.2015, 01:01:23
от orsy
Вывод номера заказа на странице сайта после его подтверждения

Автор redsowet

Ответов: 0
Просмотров: 3354
Последний ответ 02.03.2015, 16:49:22
от redsowet
Запретить пользователям редактировать свои данные

Автор Messir

Ответов: 26
Просмотров: 5174
Последний ответ 15.02.2015, 19:20:43
от Messir