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

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Есть такой модуль от Гавиков news_pro_gk4. Использую его для вывода новостей на главной. В нём предусмотрена возможность вывода надписи "Комментарии" при клике по которой собственно и попадаешь на комментарии (в моём случае jcomments). Однако в модуле не предусмотрена возможность вывода количества комментариев рядом с надписью "Комментарии". А хотелось бы это реализовать. Нашёл на JoomlaTune.ru код, который способен это делать:
Код
 global $mainframe;
  $comments = $mainframe->getCfg('absolute_path'). '/components/com_jcomments/jcomments.php';
  if (file_exists($comments)) {
    require_once($comments);
    $count = JComments::getCommentsCount($id, 'com_mycomp');
    echo $count ? ('Комментарии ('. $count . ')') : 'Добавить комментарий';
  }
А куда его вставлять? Подскажите пожалуйста где рыть, в каком файле?
Заранее спасибо.

P.S. Если я правильно понял, то за вывод надписи "Комментарии" отвечает "COMMENTS" в файле layort.parts.php (прилагаю)
Спойлер
[свернуть]
Попытался прикрутить туда этот код (соответственно менял "com_mycomp" на "com_content" и что-то не хватило у меня масла в голове  ^-^.
Читал ещё также две статьи по подобному вопросу:   
JComments + mod_latestnews_date
JComments в модуле Newsflash
Ну чего-то пока знаний не хватает. Может кто-нибудь из знающих подскажет как решить задачку?
« Последнее редактирование: 29.09.2010, 12:23:19 от ankoch »
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Если дело в деньгах, то прошу огласить сумму :)
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Есть там вот такая строка:
Код
$info_comments = '<a class="nsp_comments" href="'.JRoute::_(ContentHelperRoute::getArticleRoute($news_id,$news_cid, $news_sid)).'#comments">'.JText::_('COMMENTS').'</a>';
возможно в неё нужно встраивать приведённый выше код?

Пробовал вот такой вариант:
Код
$info_comments = $mainframe->getCfg('absolute_path'). '/components/com_jcomments/jcomments.php'if (file_exists($comments)) {    require_once($comments);    $count = JComments::getCommentsCount($id, 'com_content');    echo $count ? ('Комментарии ('. $count . ')') : 'Добавить комментарий';  };
- ошибка :(
*

niket

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Тема актуальна.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
niket Гавики уже добавили такую возможность в свой модуль, поэтому просто скачиваете, устанавливаете, настраиваете и пользуетесь.
*

mafinok

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

niket

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
А подскажите пожалуйста где именно включать?
*

Infosakh

  • Завсегдатай
  • 1257
  • 67 / 0
А подскажите пожалуйста где именно включать?
В настройках модуля, раздел Article layout - Information order ставим On
*

melkiialex

  • Захожу иногда
  • 152
  • 0 / 0
Хмм странно в версии News Pro GK4 2,3,3 в этом разделе есть только вариант вывода %DATE %COMMENTS %HITS  и потом Show other text when no comments стоит в ON

а показывает, только дату и хиты.

Как включить коменты?
*

melkiialex

  • Захожу иногда
  • 152
  • 0 / 0
Решено - обновлением Jcomments
*

drus

  • Захожу иногда
  • 65
  • 3 / 0
А как вывести количество комментариев сразу после заголовка?
Встроенная функция %COMMENTS вставляет только в Article layout, а хочется что бы и в Links layout тоже вставлялось количество комментариев.

Подскажите, как решить такую задачу.
*

bistok

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
У меня модуль выводит No comments даже если комментарии есть, в чем может быть проблема? кто-нибудь сталкивался?

Используется компонент комментариев Jcomments

Проблема решена... Исправлял код
« Последнее редактирование: 30.04.2012, 22:56:09 от bistok »
*

ambrozia

  • Новичок
  • 4
  • 0 / 0
Пожалуйста, кто как смог отобразить количество комментариев в модуле News Pro GK4 помогите пожалуйста. Я уже и модуль News Pro GK4 обновлял и Jcomments до самых последних версий. Результат: на странице статьи комментарии работают исправно, в категории статей (список статей) "комментарии" кнопка есть и показывает их количество. А вот в модуле News Pro GK4 на главной странице отображаться не хочет! Вернее модуль News Pro GK4 почему-то берёт комментарии с K2, а не из Jcomments.

Пользователь "ankoch" писал выше, что надо что-то с кодом сотворить. Что? в итоге так  здесь и не отобразилось.
А пользователь "bistok" написал, что проблема решена - исправлял код. А что исправлял? Почему никто не выложил решение?

Нашел сайт http://terrikon.com - тут реализовано очень даже хорошо. Комментарии выражены в виде цифры с иконкой для экономии места, а если их нет, то ничего не показывает (нет цифр и иконки) - факт в том, что это работает. Значит сделать как-то можно.

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