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

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Помогите получить параметры из XML файла. Вот в модуле и плагине я знаю как получить свои параметры к примеру:

$params->get('name_text_5','');

А вот такой же способ в компоненте не прокатывает, а именно я когда создаю ссылку на компонент можно дополнительно указать параметры но вот получить их я не пойму как! Пытался разобрать родные компоненты, но понял только то что эти параметры они сначала передают в вид а потом шаблон. Нужно для Joomla 2.5 или 3.х

Помоги разобраться как это сделать
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте так:
Код
jimport('joomla.application.component.helper');
$dashboardID = JComponentHelper::getParams('com_мой_компонент')->get('мой_компонент_Id');
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
$params = JComponentHelper::getParams('com_you');
var_dump($params);
иначе запрос в базу данных, посмотрите в базе они есть
или делаете что то не так
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Ничего не вывело! Хорошо давайте я по порядку опишу. У меня есть вид к примеру назовём его test. Там есть два файла default.php и default.xml

В XML я пишу

Код
<fields name="params">
<fieldset name="basic" label="JGLOBAL_CATEGORY_OPTIONS">
<field
name="namewetw"
type="text"
label="MENU"
size="40"
default=""
/>
</fieldset>
</fields>

И соответственно в default.php

Всё что описано вами выше в примере и тех данных что я ввёл нету.

Создаю ссылку на свой компонент, выбираю этот вид test там ввожу в своё поле namewetw данные и не наблюдаю их
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Вот что накопал!
$params = JComponentHelper::getParams('мой компонент');
echo $params->get('параметр');

+ к этому я вручную в _extensions занёс в свой компонент настройку и всё вывелось! Но при сохранении ссылки меню параметр не сохраняет. Собрал компонент в архив и переустановил тоже самое!

Почему что ещё не хватает!?
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Вспомнил как я делал! Вообщем то что было выше написано это не совсем то, это параметры конкретно применяемые к компоненту. Как их ещё вносить другой вопрос, хотя я подозреваю что для этого нужно создать кнопку настройки и уже они вносят данные.! А вот параметр который для ссылки в меню работает и пишет это я балбес проглядел.

Так вот данные сохраняются в таблице menu, но вот как их оттуда вывести я так и не понял вопрос открыт ещё. + Там можно влиять на уже стоящие элементы меню а именно на конечную ссылку меню, скажем приписать ей id

Чую ещё так посижу денёк и всё раскопаю.
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Вообщем сделал я то что хотел причём заодно и понял как сделать настройки для компонента. Решено!
Вот ниже список статей которые помогут сделать вывести настройки из menu и extensions таблиц бд.

Но хочу предупредить что код придётся допиливать, так как там сделано для Joomla 1.5 и второе у каждого свой способ. И в добавок там можно влиять на параметры ссылки и.т.д тоесть не всё так просто как кажется тема большая. так же я понял что есть иерархия, настройки меню выше чем настройки компонента, правда как они связаны я не понял.

http://joomla-book.ru/development/standard-parameter-types/xml-parameters#comment-2734

http://docs.joomla.org/Template_parameters
http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika/sozdanie-komponenta-dlya-joomla-2-5/253-chast-3-podderzhka-menyu
http://joomla-book.ru/development/standard-parameter-types
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Как я решил в своем случаю задачу.
создал в .xml
Код
<field
                    name="title_modul"
                    type="text"
                    label="title"
                    default = "title"
                    description="title" />    

ну и уже в шаблоне модуля вывел просто
Код
<h4><?php  echo ($params->get('title_modul'));?></h4>
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Цитировать
Как я решил в своем случаю задачу.
вы хотя бы первый пост читали или название?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
вы хотя бы первый пост читали или название?
Я бы добавил, на год смотрли =)
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Jroute компонента альбомов

Автор Koot

Ответов: 2
Просмотров: 845
Последний ответ 03.08.2019, 10:21:04
от Aleks.Denezh
Как использовать функции компонента в модуле?

Автор specialist-web

Ответов: 6
Просмотров: 1030
Последний ответ 12.05.2019, 12:26:10
от AlekVolsk
По ID'у пункта меню получить ссылку для перехода

Автор GRIG

Ответов: 4
Просмотров: 2922
Последний ответ 08.05.2017, 17:13:05
от Aleks.Denezh
Плагин Smart Search для своего компонента

Автор ftp27

Ответов: 1
Просмотров: 1934
Последний ответ 07.01.2017, 19:44:04
от newvideo
Как вставить модуль в контент компонента

Автор sava36

Ответов: 21
Просмотров: 18423
Последний ответ 15.06.2016, 09:55:51
от Ilja93