Новости 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 Гость просматривают эту тему.
  • 9 Ответов
  • 2780 Просмотров
*

denxio

  • Захожу иногда
  • 170
  • 4 / 0
Можно ли в модуле фильтров вывести логотипы производителей?
« Последнее редактирование: 27.09.2012, 22:24:44 от denxio »
*

denxio

  • Захожу иногда
  • 170
  • 4 / 0
В общем, припекло так, что сам и нашел решение.
Начать надо с того, что в файле com_jshopping\tables\category.php находим функцию getManufacturers() и в ней ищем код

Код
        $query = "SELECT distinct man.manufacturer_id as id, man.`".$lang->get('name')."` as name FROM `#__jshopping_products` AS prod
                  LEFT JOIN `#__jshopping_products_to_categories` AS categ USING (product_id)
                  LEFT JOIN `#__jshopping_manufacturers` as man on prod.product_manufacturer_id=man.manufacturer_id
                  WHERE categ.category_id = '".$this->_db->getEscaped($this->category_id)."' AND prod.product_publish = '1' AND prod.product_manufacturer_id!=0 ".$adv_query." order by name";


Меняем его на этот код:

Код
        $query = "SELECT distinct man.manufacturer_id as id, man.manufacturer_logo as mlogo, man.`".$lang->get('name')."` as name FROM `#__jshopping_products` AS prod
                  LEFT JOIN `#__jshopping_products_to_categories` AS categ USING (product_id)
                  LEFT JOIN `#__jshopping_manufacturers` as man on prod.product_manufacturer_id=man.manufacturer_id
                  WHERE categ.category_id = '".$this->_db->getEscaped($this->category_id)."' AND prod.product_publish = '1' AND prod.product_manufacturer_id!=0 ".$adv_query." order by name";

в запросе добавлено "man.manufacturer_logo as mlogo".

А в файле с шаблоном модуля добавляем в нужном месте вывод изображения:

Код
<img src="<?php print $jshopConfig->image_manufs_live_path."/".$v->mlogo?>" alt = "<?php print $v->name?>" />

Вроде все понятно описал.
*

nevigen

  • Moderator
  • 10448
  • 863 / 25
  • http://n*****n.com
а вот за самостоятельное решение + в репу получи ;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

ErikaMaza

  • Осваиваюсь на форуме
  • 34
  • 0 / 1
В общем, припекло так, что сам и нашел решение.
Начать надо с того, что в файле com_jshopping\tables\category.php находим функцию getManufacturers() и в ней ищем код


Можно проще сделать:
Опции-Производители-Создать-Описание делаем, ставим картинку(лого)-Сохраняем
Далее - Настройки -Категория/Товар - Товар - ставим чекбокс на Показывать лого производителя, если нужно название производителя, то тоже ставим чекбокс-Сохраняем
Затем при добавлении товара во вкладке - Информация о товаре-Указать нужного производителя, будет выводиться лого на странице товара либо просто название, как указали в настройках.

*

23van

  • Новичок
  • 2
  • 0 / 0
Можно ли в модуле фильтров вывести логотипы производителей?

Добрый день.Вам удалось вывести логотипы производилей на страничку категрорий с фильтром или нет?
*

denxio

  • Захожу иногда
  • 170
  • 4 / 0
Цитировать
Добрый день.Вам удалось вывести логотипы производилей на страничку категрорий с фильтром или нет?

Логотипы выводятся только на страницах, где есть продукция. На страницах, где только категории, фильтры не появляются.
*

23van

  • Новичок
  • 2
  • 0 / 0
Да только пришлось платить человеку, я не знаю как он это реализовал)). я пробовал собственноручно по указанному выше алгоритму и что не получалось))
вот щас работает http://termoprinter.org.ua/schetchiki_kupur.html )))
*

vitalicc

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Подскажите, зачем в строке запроса, например, man.manufacturer_id, спереди добавляем man?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Подскажите, зачем в строке запроса, например, man.manufacturer_id, спереди добавляем man?
Когда в запросе связаны несколько таблиц, могут совпасть имена полей и тогда субд ругнется на невозможность определить чье это поле. Чтоб такого не было, можно перед именем поля указывать имя таблицы (и даже имя базы), либо короткий псевдоним, который был указан при подключении таблицы.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

vitalicc

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Да, спасибо, разобрался. Не хватает пока кармы ставить плюс по правилам=((
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Адрес e-mail как логин при регистрации

Автор orexov_m

Ответов: 51
Просмотров: 14735
Последний ответ 28.02.2024, 18:34:01
от nevigen
Вместо стоимость 0 руб. вывести БЕСПЛАТНО в карточке товаров (Каталоге)

Автор IgorGeneralov

Ответов: 0
Просмотров: 2014
Последний ответ 13.04.2023, 21:06:09
от IgorGeneralov
[Решено] - Заказ на одной странице

Автор shurakana

Ответов: 58
Просмотров: 18539
Последний ответ 16.03.2023, 09:53:16
от kit2m2
[Решено] Товар на замену в блоке с ценой

Автор dron

Ответов: 2
Просмотров: 2443
Последний ответ 13.04.2022, 16:09:53
от dron
[Решено] Разные шаблоны для разных статусов заказов

Автор nevigen

Ответов: 4
Просмотров: 4727
Последний ответ 04.04.2022, 19:45:58
от nevigen