Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

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
Просмотров: 158467
Последний ответ 13.03.2025, 20:06:50
от Olg
Мастерю плагин для админки - оплата налом или по карте при самовывозе

Автор kkmspb

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

Автор Arkadiy

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

Автор ecolora

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

Автор ecolora

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