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

kolhoz

  • Захожу иногда
  • 199
  • 0 / 0
Немного переделал код шаблон модуля K2 Content (сейчас там нет вывода доп. полей). Как сюда после блока

Код
<div class="text"><?php echo $item->introtext; ?></div>

вывести доп. поле с ID = 1

Вот что сейчас у меня есть:

Код
<?php

defined('_JEXEC') or die;

?>

<div id="k2_specials">

<?php if(count($items)): ?>
  <ul class="row-fluid">
    <?php foreach ($items as $key=>$item): ?>
    <li class="span6">

      <?php echo $item->event->BeforeDisplay; ?>

      <?php echo $item->event->K2BeforeDisplay; ?>

      <?php echo $item->event->AfterDisplayTitle; ?>

      <?php echo $item->event->K2AfterDisplayTitle; ?>

      <?php echo $item->event->BeforeDisplayContent; ?>

      <?php echo $item->event->K2BeforeDisplayContent; ?>
 
<?php if($params->get('itemImage')): ?>
<div class="item_img span6">
      <?php if($params->get('itemImage') && isset($item->image)): ?>
      <a class="moduleItemImage" href="<?php echo $item->link; ?>" title="<?php echo JText::_('K2_CONTINUE_READING'); ?> &quot;<?php echo K2HelperUtilities::cleanHtml($item->title); ?>&quot;">
      <img src="<?php echo $item->image; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($item->title); ?>" />
      </a>
      <?php endif; ?>
<?php if($params->get('itemReadMore') && $item->fulltext): ?>
<div class="readmore_bg"><a class="read_more" href="<?php echo $item->link; ?>">
<?php echo JText::_('K2_READ_MORE'); ?>
</a></div>
<?php endif; ?>
</div>
<?php endif; ?>

      <?php if($params->get('itemIntroText')): ?>
      <div class="intro_text span6">
 
      <?php if($params->get('itemDateCreated')): ?>
      <div class="date_created"><?php echo JHTML::_('date', $item->created, JText::_('DATE_FORMAT_LC1')); ?></div>
      <?php endif; ?>
 
      <?php if($params->get('itemTitle')): ?>
      <a class="title" href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a>
      <?php endif; ?>
 
      <?php if($params->get('itemIntroText')): ?>
      <div class="text"><?php echo $item->introtext; ?></div>
      <?php endif; ?>
      </div>

      <?php endif; ?>

      <?php echo $item->event->AfterDisplayContent; ?>

      <?php echo $item->event->K2AfterDisplayContent; ?>

      <?php echo $item->event->AfterDisplay; ?>

      <?php echo $item->event->K2AfterDisplay; ?>

    </li>
    <?php endforeach; ?>
  </ul>
  <?php endif; ?>

</div>

*

kilnart

  • Захожу иногда
  • 205
  • 0 / 0
Себе сделал вот так. Вывожу доп поле с ID = 8.

Код
           
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->id == 8): ?>

<?php echo $extraField->value; ?>

<?php endif; ?>
<?php endforeach; ?> 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать http:// из поля формы регистрации и профиля

Автор lgmax

Ответов: 2
Просмотров: 1899
Последний ответ 20.01.2021, 18:52:22
от dizastill
Изменить тип дополнительного поля

Автор Abez

Ответов: 0
Просмотров: 908
Последний ответ 27.11.2019, 11:52:44
от Abez
K2 при добавлении дополнительного поля типа изображение, медиаменеджера нет

Автор designerandrey

Ответов: 0
Просмотров: 831
Последний ответ 16.04.2019, 17:09:22
от designerandrey
Вывести пустые доп поля К2 Joomla 3

Автор face2005

Ответов: 0
Просмотров: 865
Последний ответ 07.03.2019, 13:32:08
от face2005
Falang дополнительные поля К2

Автор face2005

Ответов: 0
Просмотров: 835
Последний ответ 06.03.2019, 13:01:32
от face2005