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

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Вы никогда не задумывались над проблемой организации вывода мамботов?
Так вот, поясню суть вопроса: в джумле, как мной замечено, мамботы работают во всех компонентах, категориях, что может приводить к падению при нехватке памяти выделенной хостером.
Суть задачи: ограничить вывод некоторых мамботов только определенными категориями, компонентами (ненужное зачеркнуть).
Например, сделать чтобы мамботы комментариев выводились только на Frontpage и нигде более, а мамботы поиска выводились везде и всегда.
Какие мысли будут у корифеев, не зря же модули можно выводить только в определенные категории, а мамботы нельзя? 
Вот такой вопрос-задачка.

Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
мамбот будет работать там, где его вызывают и где он должен работать по мнению разработчика этого мамбота.

... а мамботы поиска выводились везде и всегда.
"мамботы поиска" вообще нигде не выводятся.
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Так вот, мамботы от jom comment считают что место им на всех страницах моего сайта, и из-за начинают падать некоторые компоненты, например datsogallery 1.3.8 - вопрос как отучить их от этого?

Прилагаю код мамботов:
jom_commentsys_bot.php
Код
<?php defined('_VALID_MOS') or die('Direct Access to this location is not allowed.'); global $mosConfig_absolute_path, $mainframe; $_MAMBOTS->registerFunction('onAfterStart', 'jomcommentsys_bot'); function jomcommentsys_bot() { global $mosConfig_absolute_path, $option, $_JOMCOMMENT; include_once ($mosConfig_absolute_path . "/components/com_jomcomment/main.jomcomment.php"); if ($option != "com_jomcomment" && !isset ($_POST['no_html'])) { $_JOMCOMMENT->addCustomHeader(); } }

azrul.system.php
Код
<?php

defined('_VALID_MOS') or die('Direct Access to this location is not allowed.');

global $mosConfig_absolute_path, $mainframe, $_MAMBOTS;
$_MAMBOTS->registerFunction('onAfterStart', 'azrulSysBot');
include_once($mosConfig_absolute_path . "/mambots/system/pc_includes/template.php");

function azrulSysBot() {
global $mosConfig_absolute_path, $option, $database;

// pull query data from class variable
$database->setQuery("SELECT `params` FROM `#__mambots` WHERE `element`='azrul.system'");
$mambot = $database->loadResult();
 
global $mosConfig_absolute_path, $mainframe;
require_once ($mosConfig_absolute_path . '/mambots/system/pc_includes/ajax.php');

$jax = new JAX($GLOBALS['mosConfig_live_site'] . "/mambots/system/pc_includes", $mambot);
$jax->setReqURI($GLOBALS['mosConfig_live_site'] . "/index.php");
$jax->process();
if (!isset ($_POST['no_html'])) {
$mainframe->addCustomHeadTag($jax->getScript());
}
}
Да, видимо за вывод в index.php отвечает второй, вопрос как сделать чтобы его выносило  только на страницы со статическим содержанием, например только в новости и статьи?
ЗЫ. погибаю  ???? :'(
ЗЫЗЫ. Может не туда написал - перенесите в мамботы если нужно.
« Последнее редактирование: 13.03.2007, 17:15:41 от crazyASD »
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
так вот с этого и надо было бы начинать.
а то "все мамботы..."

если кто хочет разбираться в их коде - пожалуйста...
я не буду.


global $option;
$a = array( 'com_datsogallery''com_mtree''com_virtuemart', ... );
if( 
in_array$option$a ) ) return;
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
после добавления, поймал вот такую штуку:
Код
Parse error: syntax error, unexpected T_STRING in /home/xxxxxxx/xxxxxxx/www/mambots/content/jom_comment_bot.php on line 5

global $option;
$a = array ('com_datsogallery');
if ($option in_array($a)) return; пятая строчка в моем скрипте!

Намучился с кодом, но никаких результатов
Че делать? ???? >:(
« Последнее редактирование: 13.03.2007, 18:12:29 от crazyASD »
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Сори, не заметил что ты поправил код!
Спасиб тебе ОГРОМНЕЙШЕЕ!!!  :D ;D
Оно меня спасло! +1!!!
« Последнее редактирование: 13.03.2007, 19:38:44 от crazyASD »
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
А вот я и не понял до конца!
Код
global $option;
$a = array ('com_smf', 'com_datsogallery');
if( in_array( $option, $a ) ) return;
Написал я вот такой скрипт, вставил их во все свои мамботы - результат, в первом случае никакого, во втором есть.
Может кто подскажет?
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поиск только в выбранных разделах сайта

Автор Murz

Ответов: 11
Просмотров: 9297
Последний ответ 14.12.2011, 18:36:17
от Dronch
поиск только по одной категории

Автор Xook

Ответов: 3
Просмотров: 3059
Последний ответ 04.09.2008, 07:54:13
от Ragivort
Общий поиск по сайту

Автор deniz

Ответов: 2
Просмотров: 2858
Последний ответ 11.10.2007, 11:30:23
от deniz
Перенагрузка сервера - вариант решения проблемы...

Автор ukrmedshpora

Ответов: 11
Просмотров: 5361
Последний ответ 27.09.2006, 02:37:13
от smart