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

FreeR

  • Новичок
  • 5
  • 0 / 0
Доброго времени суток! Пытаюсь решить вроде простецкую задачку, а знаний не хватает. Надеюсь кто подскажет как с ней быть. Суть в следующем : Написан компонент под j1.5 довольно давно, который содержит много таблиц в бд о товарах компаниях и т.д. , а поиск стандартный по компоненту не работает. Начал разбираться в том как написать плагин для апгрейда поиска. Ознакомился с событиями onSearch и onSearchAreas , постарался изучить стандартные поиски (по категориям, статьям, контактам ..) До конца не получается разобраться, упираюсь в ошибку Warning: Invalid argument supplied for foreach() test/www/plugins/search/searchtiu.php on line 131, понимаю что возвращаемый объект не содержит чего то (массив rows). Сама таблица в которой надо вести поиск содержит такие столбцы: id,    id_user ,id_cat_tovarov, id_company, value(так неудачно задано название товара), articul, cost, wholesale, published
К сожалению не получается дебагом пройтись по функции и посмотреть где что лежит(((((((((
Сам код плагина
//Определить registerEvent. Заменил "Tiu"
Код
$mainframe->registerEvent( 'onSearch', 'plgSearchTiu' );
$mainframe->registerEvent( 'onSearchAreas', 'plgSearchTiuAreas' );
 
 
function &plgSearchTiuAreas()
{
        static $areas = array(
                'searchtiu' => 'Searchtiu'
        );
        return $areas;
}


function plgSearchTiu( $text, $phrase='', $ordering='', $areas=null )
{
        $db    =& JFactory::getDBO();
        $user  =& JFactory::getUser();
 
if (is_array( $areas )) {
if (!array_intersect( $areas, array_keys( plgSearchTiuAreas() ) )) {
return array();
}
}


$plugin =& JPluginHelper::getPlugin('search', 'searchtiu');
 

$pluginParams = new JParameter( $plugin->params );
 

$limit = $pluginParams->def( 'search_limit', 50 );
 

$text = trim( $text );


if ($text == '')
{
    return array();
}
 

        $wheres = array();
        switch ($phrase) {
 
//Поиск точного
                case 'exact':
                        $text          = $db->Quote( '%'.$db->getEscaped( $text, true ).'%', false );
                        $wheres2       = array();
                        $wheres2[]   = 'LOWER(a.value) LIKE '.$text;
                        $where                 = '(' . implode( ') OR (', $wheres2 ). ')';
                        break;
 
//поиск всех или
                case 'all':
                case 'any':
 
//Установить по умолчанию
                default:
                        $words         = explode( ' ', $text );
                        $wheres = array();
                        foreach ($words as $word)
                        {
                                $word          = $db->Quote( '%'.$db->getEscaped( $word, true ).'%', false );
                                $wheres2       = array();
                                $wheres2[]   = 'LOWER(a.value) LIKE '.$word;
                                $wheres[]    = implode( ' OR ', $wheres2 );
                        }
                        $where = '(' . implode( ($phrase == 'all' ? ') AND (' : ') OR ('), $wheres ). ')';
                        break;
        }
 
//упорядочение результатов
        switch ( $ordering ) {
 
//алфавитный, по возрастанию
                case 'alpha':
                        $order = 'a.value ASC';
                        break;
 
//сначала старые
                case 'oldest':
 
//популярные первый
                case 'popular':
 
//Сначала новые
                case 'newest':
 
//Значение по умолчанию: алфавитный, по возрастанию
                default:
                        $order = 'a.value ASC';
        }
 
//заменить nameofplugin
        $searchSearchtiu = JText::_( 'Searchtiu' );
 
//запрос к базе данных, отличается в ситуации! Это будет выглядеть примерно так:
        $query = 'SELECT a.value AS title,'
        . ' CONCAT_WS( " / ", '. $db->Quote($searchSearchtiu).', b.title )AS section,'
        . ' "1" AS browsernav'
        . ' FROM #__c_tovari AS a'
        . ' WHERE ( '. $where .' )'
        . ' AND a.published = 1'
        . ' ORDER BY '. $order
        ;

//Установить запроса
        $db->setQuery( $query, 0, $limit );
        $rows = $db->loadObjectList();
 
//"Выход" из отображается ссылка
        foreach($rows as $key => $row) {
                $rows[$key]->href = '#';
        }

 
//Вернуться результаты поиска в массиве
return $rows;

}
*

FreeR

  • Новичок
  • 5
  • 0 / 0
Собственно проблема была в запросе. Почитав документацию на инглише понял какие поля должны содержаться в результирующем запросе плагина.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин "Русская типографика"

Автор Physicist

Ответов: 261
Просмотров: 154085
Последний ответ 13.03.2025, 20:06:50
от Olg
Мастерю плагин для админки - оплата налом или по карте при самовывозе

Автор kkmspb

Ответов: 0
Просмотров: 1113
Последний ответ 27.08.2024, 15:39:37
от kkmspb
Плагин LVSpoiler - спойлеры с динамической загрузкой изображений

Автор Arkadiy

Ответов: 449
Просмотров: 99652
Последний ответ 20.04.2024, 21:10:33
от Beer
Плагин StopKids для маркировки сайта знаком 18+ для Joomla 1.5-3.x

Автор ecolora

Ответов: 40
Просмотров: 22006
Последний ответ 19.03.2023, 18:55:08
от ecolora
Компонент Commedia и плагин mp3browser для медиа-сайтов

Автор ecolora

Ответов: 557
Просмотров: 125491
Последний ответ 13.03.2023, 00:25:14
от ecolora