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

master3000

  • Осваиваюсь на форуме
  • 32
  • 0 / 1
Скажите, как убрать отображению меню с категориями товаров в самой карточке товара.
joomla 1 24, vm 1 19, и mod_product_categories
« Последнее редактирование: 04.11.2011, 17:06:18 от master3000 »
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
*

master3000

  • Осваиваюсь на форуме
  • 32
  • 0 / 1
К flypage это не относится, flypage выгружается в строго отведенном ему <div>, а mod_product_categories выгружается в другом <div>
в модуле mod_product_categories настройки по выводу на flypage отсутствуют

верно нужно поставить условие в шаблоне для модуля, вот только какое

в шаблоне позиция выгружается:

            <?php if($this->countModules('left')) : ?>
             <td class="leftcol" style="width:<?php echo $leftColWidth; ?>px;">
               <jdoc:include type="modules" name="left" style="rounded" />
             </td>
                 <?php endif; ?>
« Последнее редактирование: 04.11.2011, 16:25:03 от master3000 »
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
прежде чем что-то говорить - надо сначала попробовать то что советуют ;)
<?php
$option = JRequest::getVar('option', null);
$page = JRequest::getVar('page', null);
?>
<?php if ( $this->countModules('right') && $page!='flypage') { ?>
      <jdoc:include type="modules" name="right" />
      <?php } ?>

вам остается right заменить на вашу позицию модуля

--------------------------------------------------
вам остается скрестить два этих кода
« Последнее редактирование: 04.11.2011, 16:28:41 от ELLE »
*

master3000

  • Осваиваюсь на форуме
  • 32
  • 0 / 1
           
<?php
$option = JRequest::getVar('option', null);
$page = JRequest::getVar('page', null);
?>
             <?php if ( $this->countModules('left') && $page!='flypage') { ?>

             <td class="leftcol" style="width:<?php echo $leftColWidth; ?>px;">
               <jdoc:include type="modules" name="left" style="rounded" />
             </td>
                 <?php endif; ?>



Верно ?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
попробуйте, долго что-ли?
только с   <?php endif; ?> не будет наверно работать, должно заканчиваться <?php } ?>
*

master3000

  • Осваиваюсь на форуме
  • 32
  • 0 / 1
Не подходит

Попробовал

<?php
$option = JRequest::getVar('option', null);
$page = JRequest::getVar('page', null);
?>
             <?php if ( $this->countModules('left') && $page!='flypage') { ?>

             <td class="leftcol" style="width:<?php echo $leftColWidth; ?>px;">
               <jdoc:include type="modules" name="left" style="rounded" />
             </td>
              <?php } ?>

и так тоже
... <?php if ( $this->countModules('left') && $page!='flypage.tpl') { ?> ...

и здесь
... <?php if ( $this->countModules('left') && $page!='flypage.tpl.php') { ?> ...


вероятно не работает - ссылка ЧПУ
« Последнее редактирование: 04.11.2011, 16:50:15 от master3000 »
*

master3000

  • Осваиваюсь на форуме
  • 32
  • 0 / 1
Если в странице категории сделать собственную позицию для модуля категорий, а left в шаблоне вообще отключить ? Решение?
но тогда для маинбоди нужно будет выставлять другие настройки и использовать позицию вне vm будет трудновато
« Последнее редактирование: 04.11.2011, 16:53:00 от master3000 »
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
попробуйте вместо flypage вставить shop.product_details
*

master3000

  • Осваиваюсь на форуме
  • 32
  • 0 / 1
Victory ;D
Получилось!
ELLE, с меня  должок


Работает кроссбраузерно
« Последнее редактирование: 04.11.2011, 17:01:25 от master3000 »
*

litus

  • Новичок
  • 3
  • 0 / 0
Ребята, подскажите как это реализовать на Joomla 2.5 + VM 2.0.18a

У второго VirtueMart структура другая, ничего не могу понять, чего куда писать...
*

kajjja

  • Новичок
  • 3
  • 0 / 0
Ребята, подскажите как это реализовать на Joomla 2.5 + VM 2.0.18a

У второго VirtueMart структура другая, ничего не могу понять, чего куда писать...

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

Количество просмотров товара VirtueMart Существует?

Автор grishin

Ответов: 38
Просмотров: 11575
Последний ответ 22.08.2020, 08:44:29
от rsn
Поменять в ссылке index.php на алиас меню

Автор sashgera

Ответов: 0
Просмотров: 2435
Последний ответ 03.08.2020, 08:29:14
от sashgera
VirtueMart. Вывести названия дополнительных изображений в карточке товара

Автор Delik

Ответов: 3
Просмотров: 4578
Последний ответ 04.09.2018, 10:42:46
от Eholov
Как убрать список категорий с главной страницы virtuemart 1.1.3?

Автор SynVelesa

Ответов: 6
Просмотров: 9924
Последний ответ 07.06.2018, 00:21:52
от iGatto
Модуль авторизации пользователей убрать лишнее

Автор pautina

Ответов: 22
Просмотров: 11780
Последний ответ 20.01.2018, 06:08:46
от ElenaD