Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 3329 Просмотров
*

selimoff

  • Захожу иногда
  • 243
  • 16 / 0
  • heads up!!!
Запрос (SQL) в БД user status online
« : 17.06.2009, 00:15:02 »
Здравствуйте,
Хотел знать если возможно сделать запрос в БД, чтобы получить Пользователя статуса онлайн, типа:
Код
ALTER TABLE `jos_users` ADD `userstatusonline` VARCHAR( 255 ) NOT NULL ;
заранее спасибо
JNavigation скачать Здесь
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Запрос (SQL) в БД user status online
« Ответ #1 : 17.06.2009, 00:21:36 »
Погодь, описанный тобой запрос просто добавляет колонку в таблицу пользователей. Никакого отношения к текущему состоянию пользователя он не имеет.

Чтобы получить информацию о том, на сайте ли пользователь нужен вот такой запрос:

Код: php
$db = JFactory::getDBO();
$db->setQuery('SELECT COUNT(*) FROM #__session WHERE userid = ' . $userid);
$online = $db->loadResult();

При этом в переменной $userid должен быть идентификатор интересующего нас пользователя, а в переменную $online вернется 0 или 1 в зависимости от того, на сайте он или нет. Если быть более точным, то это будет означать жива ли его сессия на сайте или нет. Сам-то он мог уже уйти, но сессия еще некоторое время живет. Но точнее не узнать...
*

selimoff

  • Захожу иногда
  • 243
  • 16 / 0
  • heads up!!!
Re: Запрос (SQL) в БД user status online
« Ответ #2 : 17.06.2009, 00:30:40 »
Привет, Сергей!
Погодь, описанный тобой запрос просто добавляет колонку в таблицу пользователей. Никакого отношения к текущему состоянию пользователя он не имеет.
Да, это точно! хотел догадаться :)
а такой запрос куда и как вставить чтобы заработала?
спасибо
JNavigation скачать Здесь
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Запрос (SQL) в БД user status online
« Ответ #3 : 17.06.2009, 00:34:48 »
Хм, куда вставить это уж тебе видней, я ж не знаю задачи. Или это ты все про статус пользователя в комментариях? Ну тогда проще всего вставить прямо в шаблон, в tpl_comment.php. Текущего пользователя возьмешь в переменной $comment->userid. А в зависимости от значения переменной $online в нижеприведенном коде выведешь либо разные картинки, либо надписи разные.

Единственный минус такой реализации заключается в том, что во-первых, для гостей это работать не будет, а во-вторых, это увеличит количество запросов к БД на страницу. Т.е. если у нас на странице окажется 100 комментариев, появится 100 дополнительных запросов. Так как для каждого комментария это будет выполняться.

Как обойти? Сходу не знаю. Надо подумать. Чисто технически можно пойти тем же путем, что я реализовывал аватары. Т.е. выполнять такой запрос всего один раз для всех пользователей в списке. На пальцах объяснить сложно. Появится минутка времени - попробую накидать пример.
*

selimoff

  • Захожу иногда
  • 243
  • 16 / 0
  • heads up!!!
Re: Запрос (SQL) в БД user status online
« Ответ #4 : 17.06.2009, 00:41:54 »
Спасибо master!
тогда лучше ничего не буду трогать!
Если будут столько дополнительных запросов, думаю не стоит.
ну что, буду ждать :)
еще раз спасибо за объяснение!
JNavigation скачать Здесь
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Запрос (SQL) в БД user status online
« Ответ #5 : 17.06.2009, 14:15:24 »
selimoff - помнишь задачу, где ты решал добавление в комментарии данных из таблицы пользователей - вот в тот же самый глобальный SQL запрос и добавляй JOIN #__session и в выборку нужный параметр
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Запрос (SQL) в БД user status online
« Ответ #6 : 17.06.2009, 14:20:58 »
вот в тот же самый глобальный SQL запрос и добавляй JOIN #__session и в выборку нужный параметр
только не JOIN, а LEFT JOIN... иначе отвалятся комментарии от гостей или отсутствующих на сайте пользователей
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Запрос (SQL) в БД user status online
« Ответ #7 : 17.06.2009, 14:35:40 »
только не JOIN, а LEFT JOIN...
согласен :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как через AJAX запрос получить только данные из функции, без HTML кода?

Автор lottis

Ответов: 7
Просмотров: 3807
Последний ответ 26.03.2012, 02:40:54
от lottis
[Demo] Модуль QContacts online in Skype (или Кто онлайн в Скайпе)

Автор Виталик

Ответов: 4
Просмотров: 5877
Последний ответ 11.06.2010, 23:22:39
от Виталик
SELECT запрос с поиском среди параметров в стиле ini-файлов (поля params или attribs)

Автор enshtein

Ответов: 1
Просмотров: 2086
Последний ответ 14.02.2010, 12:20:54
от enshtein
SQL запрос

Автор ershovdz

Ответов: 5
Просмотров: 1975
Последний ответ 29.06.2009, 15:34:34
от beliyadm