Новости Joomla

Вышел плагин социальных кнопок для Joomla - JL Like 5.1.0

Вышел плагин социальных кнопок для Joomla - JL Like 5.1.0

Вышел плагин социальных кнопок для Joomla - JL Like 5.1.0.JL Like — современный плагин для Joomla, который добавляет стильные кнопки "Поделиться" и счетчики лайков популярных соцсетей. Не использует внешние скрипты, что обеспечивает максимальную скорость и безопасность.👩‍💻 v.5.1.0. Что нового?Виджет предварительного просмотра- Добавлен интерактивный предпросмотр социальных кнопок в админ панели- Живое обновление настроек в реальном времени- Переключение между мобильным и десктопным видомУлучшенная мобильная поддержка- Оптимизированные размеры кнопок для мобильных устройств- Адаптивные стили для лучшего отображения на смартфонах- Touch-friendly интерфейсСовременная архитектура- Внедрена система Web Assets для Joomla 4/5- Оптимизированная загрузка ресурсов с атрибутом defer- Улучшенная производительностьТехнические улучшения- Добавлен новый метод getBaseUri() для лучшей обработки URL- Обновлена поддержка JoomShopping и ZOO компонентов- Улучшена совместимость с Joomla 5.xСкачать релиз с GitHubСтраница расширения@joomlafeed#расширения

Новый способ добавления и рендера полей в 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.

<?php // В Controller/View добавляем поля $this->form ->addControlField('task', '') ->addControlField('return', $input->getBase64('return', '')) ->addControlField('forcedLanguage', $forcedLanguage);

А в layout'е просто используем метод

renderControlFields()

<?php // В layout формы echo $this->form->renderControlFields();

Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.

Смотреть Pull Request

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

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Добрый день.

Суть стоящей передо мной задачи в следующем - для разрабатываемого компонента создать кастомное поле множественного выбора с загруженными в него опциями на основании данных из определенной таблицы БД для добавления через xml-файлы в формы  1. настроек пунктов меню и 2. создания элементов контента в панели управления компонентом.  В поле должна присутствовать возможность фильтрации опций посредством ввода текста и отображением выбранных опций в виде блоков над текстовой строкой, как multiple-список, добавленный в xml-файл настройки формы пункта меню, только со сформированными заранее опциями, а не прописанными вручную. Подскажите пожалуйста, как это можно реализовать? Моя попытка найти готовый пример реализации в компонентах Joomla не увенчалась успехом.
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
fsv, благодарю Вас за ответ. На вкладке настроек пункта меню этот тип поля работает как надо, но в панели управления компонентом, в layout=edit, он отображается и ведёт себя как обычный html-список select. Подскажите, пожалуйста, каким образом реализовать описанную выше функциональность в ПУ компонента, в layout-e edit?
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
смотрите, какие скрипты и стили грузятся там, где нормально
или что-то не то сделали.
Веб-разработка: заказ. Только новая разработка.
*

Septdir

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

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
ок, буду пробовать, отпишусь по результатам
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
поля начали отображаться как следует при добавлении кода:

Код
$document->addScriptDeclaration(
'
jQuery(document).ready(function (){
jQuery("select").chosen({"disable_search_threshold":10,"search_contains":true,"allow_single_deselect":true,"placeholder_text_multiple":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u043b\u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432","placeholder_text_single":"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435","no_results_text":"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442"});
});
');


$document->addScript("/joomla/media/jui/js/chosen.jquery.min.js");
$document->addStyleSheet("/joomla/media/jui/css/chosen.css");
,
но если в них было выбрано более одного значения, то после сохранения они не отображаются. Перед записью в кастомную таблицу компонента выбранные значения преобразуются в строку посредством implode (',', $selected_values). В случае с одним значением все работает отлично. Но проблема видимо в том, что я не знаю в каком формате необходимо предоставить коду, формирующему список множественного выбора, лежащий в основе этого поля, сохраненные значения, чтобы он на их основе сформировал необходимые <option selected></option>. Попытка найти этот код через компонент меню не привела меня к желаемому результату. Теперь у меня есть три предположения:

1. либо формат данных у меня неправильный (хотя вместо implode я пробовал преобразовывать массив в json-строку через json_encode, так как в компоненте меню настройки подобного поля сохранены в виде json-строки)
2. либо этого кода нет по умолчанию и мне его необходимо написать самому
3. либо этот код на js и его необходимо подключить (скрипты на работающей и неработающей страницах я сравнивал и подключал недостающие на неработающей)

Подскажите, пожалуйста, в чём может быть причина?!

*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Цитировать
но если в них было выбрано более одного значения, то после сохранения они не отображаются. Перед записью в кастомную таблицу компонента выбранные значения преобразуются в строку посредством implode (',', $selected_values). В случае с одним значением все работает отлично. Но проблема видимо в том, что я не знаю в каком формате необходимо предоставить коду, формирующему список множественного выбора,
Если есть implode, должно быть explode.
Например, в модели в save
Код: php
...
if (isset($data['users_control_ids']) && is_array($data['users_control_ids']))
{
    $data['users_control_ids'] = implode(',', $data['users_control_ids']);
}
...
return parent::save($data);
в модели
Код: php
protected function loadFormData()
{
    $app = JFactory::getApplication();
    $id = $app->input->getInt('id', 0);
    $data = $app->getUserState( 'com_mycomponent.edit.myview'.$id.'.data', array() );
    if ( empty( $data ) )
    {
        $data = $this->getItem();
        $data->users_control_ids = explode(',', $data->users_control_ids);
    }
    return $data;
}
Веб-разработка: заказ. Только новая разработка.
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Да, дело было именно в этом, благодарю вас за помощь. Плюсую в карму.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 648
Последний ответ 26.03.2025, 19:26:30
от azm1n
[Решено] Получить список тегов каждого материала в блоге категории

Автор goga_pgasovav

Ответов: 1
Просмотров: 772
Последний ответ 02.03.2023, 14:20:21
от goga_pgasovav
Как правильно создать дубликаты страниц Joomla? Что бы не ругались поисковики

Автор Dannik

Ответов: 0
Просмотров: 551
Последний ответ 22.02.2023, 08:00:13
от Dannik
Как создать ссылку на категорию в картинке материала?

Автор Mnojitell

Ответов: 0
Просмотров: 939
Последний ответ 12.01.2023, 14:14:11
от Mnojitell
Выпадающий список и его высота

Автор androv77

Ответов: 7
Просмотров: 661
Последний ответ 16.11.2022, 12:56:39
от marksetter