Новости 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 Ответов
  • 4423 Просмотров
*

ataman

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Здравствуйте.

Искал на форуме, не нашел такого вопроса.

А вопрос вот в чем.

Я вывожу на главную страницу список товаров. Но выводится только название товара, картинка, "купить" и "подробно". (Принскрин: )

Нашел файл, куда нужно вписать код : templates\list_products\product.php.

Там сразу после :
Код
        <div class="name">
            <a href="<?php print $product->product_link?>"><?php print $product->name?></a>
            <?php if ($this->config->product_list_show_product_code){?><span class="jshop_code_prod">(<?php print _JSHOP_EAN?>:
<span><?php print $product->product_ean;?></span>)</span><?php }?>
        </div>

вставляю

Код
        <div class="category">
            <?php print  /*не знаю что тут написать*/  ?>
        </div>

Ну а что написать между дивами, что б вывелось название категории ?
*

xxvovan88xx

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
(\components\com_jshopping\templates\default\list_products\product.php)
Код:

           
Код
 <a href="<?php print $product->product_link?>">
            <?php print $product->name." (";
            $table_product = JTable::getInstance('product', 'jshop');
            $table_product->load($product->product_id);
            $table_category = JTable::getInstance('category', 'jshop');
            $table_category->load($table_product->getCategory());
            print $table_category->getName().")";
            ?></a>

*

xxvovan88xx

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
если нужно в модулях вывести
Код:


           
Код
<?php 
            $table_product = JTable::getInstance('product', 'jshop');
            $table_product->load($curr->product_id);
            $table_category = JTable::getInstance('category', 'jshop');
            $table_category->load($table_product->getCategory());
            print $table_category->getName();
            ?>
*

ataman

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Спасибо!

все заработало с первого раза!
*

brash

  • Новичок
  • 9
  • 0 / 0
Спасибо!
*

mavr

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
(\components\com_jshopping\templates\default\list_products\product.php)
Код:

          
Код
 <a href="<?php print $product->product_link?>">
            <?php print $product->name." (";
            $table_product = JTable::getInstance('product', 'jshop');
            $table_product->load($product->product_id);
            $table_category = JTable::getInstance('category', 'jshop');
            $table_category->load($table_product->getCategory());
            print $table_category->getName().")";
            ?></a>


А как вывести название категории товара (вместе с названием товара) в самой корзине (\components\com_jshopping\templates\default\cart\cart.php)?
« Последнее редактирование: 18.01.2014, 12:42:35 от mavr »
*

semak85

  • Осваиваюсь на форуме
  • 38
  • 4 / 1
Здорово, работает! Но выводит только 1 категорию товара. А если товару присвоено несколько категорий, как вывести их все?
*

vova630

  • Захожу иногда
  • 79
  • 0 / 0
А как вывести названия категорий на главной в списке товара (вроде заголовка) и товары этих категории? Очень нужна помощь! спасибо.
*

Alex_gs

  • Захожу иногда
  • 152
  • 1 / 0
Для JoomShopping 5. Может кому пригодиться...

Вывод названия категории. У меня работает так:
        $category = \JSFactory::getTable("category");
        $category->load(<id категории>);
   echo $category->getName();
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 1398
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 864
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 0
Просмотров: 1095
Последний ответ 24.12.2024, 14:50:42
от sergeytolkachyov
JoomShopping, вывод всех категории к которым принадлежит товар

Автор Valent777

Ответов: 12
Просмотров: 1984
Последний ответ 01.11.2024, 14:57:28
от kit2m2
JoomShopping как вывести фильтр в наличии

Автор thevaca

Ответов: 4
Просмотров: 1213
Последний ответ 15.08.2024, 17:41:20
от thevaca