Новости Joomla

Обновление пакета плагинов JL Like 5.0

Обновление пакета плагинов  JL Like 5.0

Обновление пакета плагинов JL Like 5.0.0Команда JoomLine рада представить долгожданное обновление плагина социальных кнопок JL Like — версию 5.0.0! В этом релизе мы сделали акцент на совместимости с последними версиями Joomla, улучшении производительности и расширении функционала.👩‍💻 Что нового в JL Like 5.0.0?- Полная совместимость с Joomla 5 — теперь плагин работает на всех актуальных версиях Joomla, включая Joomla 5.- Рефакторинг и оптимизация кода — проведена масштабная чистка и обновление внутренних классов для повышения стабильности и скорости работы.- Удаление устаревших зависимостей — полностью отказались от использования jQuery, что ускорило загрузку страниц и повысило безопасность.- Обновление CSS и удаление неиспользуемых стилей — интерфейс стал еще легче и современнее.- Удалена поддержка устаревших виджетов — например, функциональность твиттер-виджета вынесена из плагина.- Поддержка twitter:card — улучшена интеграция с социальными сетями для красивого отображения ссылок.- Гибкая настройка счетчиков лайков — теперь можно включать и отключать рандомизацию количества лайков.- Улучшено подключение скриптов — переход на WebAssetManager для более корректной работы с ресурсами.- Обновлены языковые переменныеРасширения всё ещё наследуют старую архитектуру плагинов Joomla 3, но были протестированы на Joomla 5.3.Новость на сайте JoomlineСтраница расширенияGitHub расширения@joomlafeed#расширения

Совет по 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 Ответов
  • 843 Просмотров
*

Vas80

  • Захожу иногда
  • 238
  • 0 / 1
Как вывести в статье изображение автора, которое находится в компоненте "Контакты"
То есть создан Профиль Автора, который прикреплен к компоненту Контакты, в котором непосредственно находится изображение.

Пока получилось только вытащить из базы данных полностью список авторов.
А нужен именно один автор текущей статьи.

Вот так пробовал

        $db = JFactory::getDbo();
        $query = $db->getQuery(true);
        $query->select('*');
        $query->from($db->quoteName('#__contact_details'));
        $db->setQuery($query);
       
        $names = $db->loadObjectList();


<?php foreach ($names as $name) : ?>
   

         <img src="/<?php echo $name->image; ?>">
      
   
   <?php endforeach; ?>
*

Vas80

  • Захожу иногда
  • 238
  • 0 / 1
Я так понимаю, что в запросе надо прописать условие.
Только как,
*

Vas80

  • Захожу иногда
  • 238
  • 0 / 1
Смотрел уже. Пока не могу понять как?
Подскажи пожалуйста.
*

Vas80

  • Захожу иногда
  • 238
  • 0 / 1
Нашел вот такой код. Но он не работает.

<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);

   $query->select("contact.misc AS description, contact.image");
   $query->from("#__contact_details AS contact");
   $query->where("contact.published = 1");
   $query->where("contact.id = ".$this->item->contactid);
   
   $db->setQuery($query);
   $contact = $db->loadAssoc();

?>

<img src="<?php echo $contact['image'];?>">
*

Vas80

  • Захожу иногда
  • 238
  • 0 / 1
Ошибку выдает на $query->where("contact.id = ".$this->item->contactid);
рспечатывал $this и также $params в материале
так и не увидел значение contactid
видимо код из древней версии Joomla......
*

Vas80

  • Захожу иногда
  • 238
  • 0 / 1
Короче пока вопрос не решен.
*

fbr

  • Завсегдатай
  • 1663
  • 206 / 7
В таблице #__contact_details как поле, содержащее фото называется? ну пусть image ...
Указываете его вместо * в select
в where для поля id юзера (вставляете название) = значение id из материала
А так все один-в-один как в мануале ...
*

fbr

  • Завсегдатай
  • 1663
  • 206 / 7
скрин в помощь) https://prnt.sc/ug62zq
*

Vas80

  • Захожу иногда
  • 238
  • 0 / 1
Откуда взять значение из материала?
Вот в чем вопрос.
Что туда подставлять, чтобы работало динамически. Я ж не могу туда вставить какую-то цифру......
Вот в чем загвоздка.

Изображение должно отображаться на всех страницах блога.
=================
При этом, авторов на сайте несколько. В статьях будут отражаться разные авторы.

Представленный Вами метод делает выборку только из первой найденной строки.
« Последнее редактирование: 12.09.2020, 22:07:26 от Vas80 »
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Откуда взять значение из материала?
В материале поле `created_by` - это id автора
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Vas80

  • Захожу иногда
  • 238
  • 0 / 1
    ->where($db->quoteName('id'). '= created_by');
  что-то не то.....

я так понимаю надо взять именно значение текущего материала
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
я так понимаю надо взять именно значение текущего материала
конечно - его и берите. если вы все это пишете в макете матерала, то его можно получить как $this->item->created_by. А если в модуле, то читайте ИД материала из параметров и подставляейте в подзапрос:
Код
$id = JRequest::getInt('id');
$db->setQuery("SELECT * FROM `#__contact_details` WHERE `id` IN (SELECT `created_by` FROM `#__content` WHERE `id` = ".$id.")")->loadObject();
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
   
Код
<?php
$db = JFactory::getDBO();
     $query = $db
->getQuery(true)
->select($db->quoteName('image'))
->from($db->quoteName('#__contact_details'))
->where($db->quoteName('user_id'). " = " .$this->item->created_by);
$db->setQuery($query);
$contact_image = $db->loadResult()? $db->loadResult() : '';
var_dump($contact_image); ?>
п.с.
скрин
« Последнее редактирование: 13.09.2020, 08:53:06 от draff »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 1806
Последний ответ 28.04.2025, 10:25:44
от sivers
Вывести модуль в модуле

Автор jimka

Ответов: 2
Просмотров: 718
Последний ответ 18.04.2025, 15:39:36
от fbr
Как вывести в категории VirtueMart кастомное поле с редактором?

Автор dc_web

Ответов: 4
Просмотров: 630
Последний ответ 05.10.2022, 11:07:00
от sivers
Как в конце модуля mod_articles_news вывести ссылку на страницу с блогом?

Автор androv77

Ответов: 4
Просмотров: 745
Последний ответ 20.09.2022, 11:20:29
от androv77
Как вывести переключатель языков на мобильной версии сайта?

Автор Zell

Ответов: 6
Просмотров: 734
Последний ответ 14.07.2022, 23:20:34
от Zell