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

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
Приветствую, форумчан!
У меня появилась необходимость вывести произвольные поля они же "Fields", на странице тегов, шаблон которых хранится:
"шаблон_сайта\html\com_tags\tag\default_items.php"

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

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
Знающие ребята подскажите, это вообще выполнимая задача?
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Как вывести "Fields" на странице тега?
« Ответ #2 : 10.09.2018, 09:52:56 »
тут надо смотреть БД
какие взаимосвязи
а так думаю что нет ничего не возможного
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Как вывести "Fields" на странице тега?
« Ответ #3 : 10.09.2018, 10:13:25 »
короче можно завязать
от tag_id --> content_item_id --> id --> fields --> fields_values
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
Благодарю за наводку буду работать в этом направлении!
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
короче можно завязать
от tag_id --> content_item_id --> id --> fields --> fields_values

Камрад, что-то у меня не выходит, это я полагаю следствие слабого знания php (я верстальщик) и Joomla 3, не мог бы ты помочь мне написать цикл для вывода произвольного поля в метках? Могу заплатить, без проблем.

Скидываю пример кода как я вывожу в категориях\материалах (На всякий случай):

            <?php
            // GET CUSTOM FIELDS
            $myCustomFields = array();
            foreach($this->item->jcfields as $field) {
                $myCustomFields[$field->name] = $field->value;
            }
            ?>

            <?php
            if (isset($myCustomFields['nazvanie_polia']) and !empty($myCustomFields['nazvanie_polia'])) :
            ?>
   
                <?php
                if (isset($myCustomFields['nazvanie_polia']) and !empty($myCustomFields['nazvanie_polia'])) : ?>
                    <li class="field__name">
                        <span>Жанр: </span>
                        <?php echo $myCustomFields['nazvanie_polia']; ?>
                    </li>
                <?php endif; ?>

            <?php endif; ?>

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

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Как вывести "Fields" на странице тега?
« Ответ #6 : 10.09.2018, 16:26:58 »
надо смотреть конкретно в базе что у вас и откуда тащится
какие теги к чему привязываются

ну и плюс в бд смотреть по полям
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
надо смотреть конкретно в базе что у вас и откуда тащится
какие теги к чему привязываются

ну и плюс в бд смотреть по полям

Я бы с радостью вам показал, если бы знал, что конкретно показывать, если можете уточнить, я бы с удовольствием всю информацию.
*

AlexMakedonskiy

  • Новичок
  • 6
  • 0 / 0
Задача решилась очень банально, внес небольшие правки в код цикла foreach, нужно было просто убрать $this, произвольные поля начали выводится:

           <?php
            // GET CUSTOM FIELDS
            $myCustomFields = array();
            foreach($item->jcfields as $field) {
                $myCustomFields[$field->name] = $field->value;
            }
            ?>

Отдельная благодарность камраду, lexxbry, который пытался помочь.

Тему можно закрывать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести дочерние товары в самой карточке родительского товар VirtueMart

Автор aliallaxverdiev91

Ответов: 2
Просмотров: 2318
Последний ответ 03.03.2024, 11:32:49
от gtiosx
Как вывести Alt картинки в описание Lightbox?

Автор art22

Ответов: 2
Просмотров: 2086
Последний ответ 14.05.2023, 09:21:39
от sivers
Как спрятать блок (его код) на странице

Автор darkghost

Ответов: 4
Просмотров: 2299
Последний ответ 28.04.2023, 11:23:43
от fsv
Съезжают модули на странице материала

Автор sibdes

Ответов: 3
Просмотров: 2612
Последний ответ 24.04.2023, 12:50:21
от beliyadm
Друзья, как перевести слово "or" в "или"

Автор Alex_iPod

Ответов: 2
Просмотров: 693
Последний ответ 28.12.2021, 22:54:47
от Alex_iPod