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

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Продолжение темы Модуль AJAX поиска по сайту (Joomla 1.5, Jquery, com_content only)

По желанию трудящихся сделал аналогичный модуль, только на стандартном (правда только для Joomla его можно назвать стандартным :), т.к в быту он уже давно не юзается) Mootools 1.11 - 1.12

Результаты поиска выводятся в <div id="sm-searchresult"></div> (смотрите шаблон модуля, для этого блока стоит абсолютная позиция)
Эффектов правда никаких не делал, кому надо сам разберется, CSS стили подключаются в модуле (файл mod_sm_ajax_search.php).

Для работы модуля нужно установить компонент.

Если кому будет интересно можно также переделать этот модуль на JSON, так даже думаю будет интереснее, просто не охота просто так заморачиваться :)





[вложение удалено Администратором]
« Последнее редактирование: 04.01.2010, 21:10:23 от SmokerMan »
*

sova

  • Захожу иногда
  • 135
  • 22 / 1
Поставил - проверил на IE6, FaerFox 3.5.6, Opera 9.63.
Работает без проблем в контенте.
В VirtueMart не ищет.
Поживу - увижу, доживу - узнаю, выживу - учту
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
В VirtueMart не ищет.
Так ты топик внимательней почитай :)
С чего бы он там искал?
просто тот же модуль переделал под стандартный Mootools 1.12
Вобще поиск можно сделать по чему угодно, я в принципе думал сделать различные вариантов поиска, но чего-то пока не охота заорачиваться на это.
Для этого  достаточно в js задать разные урлы (task для контроллера) ну и в контроллере создать соответствующий task (функцию) и создать нужную модель в которой будет запрос к БД, где искать.
Если конечно это что-то скажет тебе :)
*

Antosha

  • Захожу иногда
  • 420
  • 52 / 0
  • Плохо спорить плохо
Подключал поиск на jQuery к RokDownloads, в принципе все сводится к заданию запроса к БД.
<a href="http://joomlablog.ru/">JoomlaBlog</a>
*

DKsN

  • Захожу иногда
  • 258
  • 15 / 0
  • [BODY]
mod_rokajaxsearch.zip мне на много больше понравился.  ^-^
*

Лена)

  • Захожу иногда
  • 402
  • 28 / 0
А возможно результаты поиска выводить не в отдельном всплываещем окошке, а в позиции модуля например? вопрос в том, сама разобраться смогу с этим?)
_________________________________________________

как оказалось, нет ничего проще
« Последнее редактирование: 13.09.2011, 13:23:56 от Лена) »
*

Лена)

  • Захожу иногда
  • 402
  • 28 / 0
никак не получается сделать поиск только по заголовкам материалов. убирала строчки, как говорил в этой теме smart. но этот файл /plugins/search/content.php и поиск AJAX не связаны почему-то.
SmokerMan, вы случайно не знаете, где там что подправить?
я думаю, нужно подправить код в файле /components/com_sm_ajax_search/models/content.php
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
никак не получается сделать поиск только по заголовкам материалов. убирала строчки, как говорил в этой теме smart. но этот файл /plugins/search/content.php и поиск AJAX не связаны почему-то.
SmokerMan, вы случайно не знаете, где там что подправить?
я думаю, нужно подправить код в файле /components/com_sm_ajax_search/models/content.php
подправить что? что бы поиск был только по заголовкам?
Тогда, да в этом файле нужно изменить запрос:
Код
. ' WHERE a.title LIKE '.$queryString.' OR a.introtext LIKE '.$queryString
заменить на
Код
. ' WHERE a.title LIKE '.$queryString
*

Лена)

  • Захожу иногда
  • 402
  • 28 / 0
умничка. спасибо, всё теперь как нужно! строчку эту я пыталась урезать, но после слова queryString оставляла точечку и апостроф, оттого и не  получалось, как нужно.
*

banzaika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Осознаю что руки кривые и все же...
joomla 1.7, инсталлировал компонент и модуль, модуль опубликовал - 0 эмоций.
Создал новый модуль, опубликовал - появилось окошко ввода запроса, текст вводишь - не реагирует...
Что не так как надо? Хоть куда подуть, где посмотреть??

(mod_rokajaxsearch встал и заработал сразу, но шото меня безопасность тревожит...)
*

Лена)

  • Захожу иногда
  • 402
  • 28 / 0

Вобще поиск можно сделать по чему угодно, я в принципе думал сделать различные вариантов поиска, но чего-то пока не охота заорачиваться на это.
Для этого  достаточно в js задать разные урлы (task для контроллера) ну и в контроллере создать соответствующий task (функцию) и создать нужную модель в которой будет запрос к БД, где искать.

обычный поиск работает для к2. теперь еще нужно, чтобы ajax-ковский заработал для материалов, созданных на к2. не очень пока получается.
задать урл в файле smsearch.js нужно в этой строке?
Код
var url = 'index.php?option=com_sm_ajax_search&task=search&format=raw';
- пока не поняла, какой именно урл прописать

код для функции поиска взяла с файла k2.php. он не подойдет?
Код
function onSearch($text, $phrase = '', $ordering = '', $areas = null) {
JPlugin::loadLanguage('plg_search_k2', JPATH_ADMINISTRATOR);
jimport('joomla.html.parameter');
$mainframe = &JFactory::getApplication();
$db = &JFactory::getDBO();
$jnow = &JFactory::getDate();
$now = $jnow->toMySQL();
$nullDate = $db->getNullDate();
$user = &JFactory::getUser();
if(K2_JVERSION=='16'){
$accessCheck = " IN(".implode(',', $user->authorisedLevels()).") ";
}
else {
$aid = $user->get('aid');
$accessCheck = " <= {$aid} ";
}
$tagIDs = array();
$itemIDs = array();

require_once (JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_search'.DS.'helpers'.DS.'search.php');
require_once (JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'helpers'.DS.'route.php');

$searchText = $text;
if (is_array($areas)) {
if (!array_intersect($areas, array_keys($this->onSearchAreas()))) {
return array();
}
}

$plugin = &JPluginHelper::getPlugin('search', 'k2');
$pluginParams = new JParameter($plugin->params);

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

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

$rows = array();

if ($limit> 0){

if($pluginParams->get('search_tags')){
$tagQuery = JString::str_ireplace('*', '', $text);
$words = explode(' ', $tagQuery);
for($i=0; $i<count($words); $i++){
$words[$i].= '*';
}
$tagQuery = implode(' ', $words);
$tagQuery = $db->Quote($db->getEscaped($tagQuery, true), false);

$query = "SELECT id FROM #__k2_tags WHERE MATCH(name) AGAINST ({$tagQuery} IN BOOLEAN MODE) AND published=1";
$db->setQuery($query);
$tagIDs = $db->loadResultArray();

if(count($tagIDs)){
JArrayHelper::toInteger($tagIDs);
$query = "SELECT itemID FROM #__k2_tags_xref WHERE tagID IN (".implode(',',$tagIDs).")";
$db->setQuery($query);
$itemIDs = $db->loadResultArray();
}
}


if($phrase=='exact'){
$text = JString::trim($text,'"');
$text = $db->Quote('"'.$db->getEscaped($text, true).'"', false);
}
else {
$text = JString::str_ireplace('*', '', $text);
$words = explode(' ', $text);
for($i=0; $i<count($words); $i++){
if($phrase=='all')
$words[$i]= '+'.$words[$i];
$words[$i].= '*';
}
$text = implode(' ', $words);
$text = $db->Quote($db->getEscaped($text, true), false);
}


$query = "
SELECT i.title AS title,
   i.metadesc,
   i.metakey,
   c.name as section,
   i.image_caption,
   i.image_credits,
   i.video_caption,
   i.video_credits,
   i.extra_fields_search,
   i.created,
     CONCAT(i.introtext, i.fulltext) AS text,
     CASE WHEN CHAR_LENGTH(i.alias) THEN CONCAT_WS(':', i.id, i.alias) ELSE i.id END as slug,
     CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as catslug
     FROM #__k2_items AS i
     INNER JOIN #__k2_categories AS c ON c.id=i.catid AND c.access {$accessCheck}
WHERE (";
if($pluginParams->get('search_tags') && count($itemIDs)){
JArrayHelper::toInteger($itemIDs);
$query.=" i.id IN (".implode(',',$itemIDs).") OR ";
}
$query.="MATCH(i.title, i.introtext, i.`fulltext`,i.extra_fields_search,i.image_caption,i.image_credits,i.video_caption,i.video_credits,i.metadesc,i.metakey) AGAINST ({$text} IN BOOLEAN MODE)
)
AND i.trash = 0
   AND i.published = 1
   AND i.access {$accessCheck}
   AND c.published = 1
   AND c.access {$accessCheck}
   AND c.trash = 0
   AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." )
        AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )
   GROUP BY i.id ";

switch ($ordering) {
case 'oldest':
$query.= 'ORDER BY i.created ASC';
break;

case 'popular':
$query.= 'ORDER BY i.hits DESC';
break;

case 'alpha':
$query.= 'ORDER BY i.title ASC';
break;

case 'category':
$query.= 'ORDER BY c.name ASC, i.title ASC';
break;

case 'newest':
default:
$query.= 'ORDER BY i.created DESC';
break;
}

$db->setQuery($query, 0, $limit);
$list = $db->loadObjectList();
$limit -= count($list);
if (isset($list)) {
foreach ($list as $key=>$item) {
$list[$key]->href = JRoute::_(K2HelperRoute::getItemRoute($item->slug, $item->catslug));

}
}
$rows[] = $list;
}

$results = array();
if (count($rows)) {
foreach ($rows as $row) {
$new_row = array();
foreach ($row as $key=>$item) {
$item->browsernav = '';
$item->tag = $searchText;
if (searchHelper::checkNoHTML($item, $searchText, array('text', 'title', 'metakey', 'metadesc', 'section', 'image_caption', 'image_credits', 'video_caption', 'video_credits', 'extra_fields_search', 'tag'))) {
$new_row[] = $item;
}
}
$results = array_merge($results, (array) $new_row);
}
}

return $results;
}

только в этой функции нет модели. я так понимаю, эти строчки отвечают за модель:
Код
$model = $this->getModel('content');
$rows = $model->search($queryString);

а что значит "создать модель"?

*

Лена)

  • Захожу иногда
  • 402
  • 28 / 0
А как сделать поиск по заголовкам материалов в англ. версии сайта? Мультиязычность на сайте с помоью JoomFish. Когда вводишь русские буквы в поиске, выходит материал,  с заголовком на англ. языке. Когда вводишь англ. буквы, ничего не находит. Где можно добавить в алфавит англ. буквы?
*

Лена)

  • Захожу иногда
  • 402
  • 28 / 0
Какое нужно задать условие, чтобы поиск слов был не "точное совпадение" (имеется ввиду как по порядку они написаны, в таком и виде будет производиться поиск), а таким образом, чтобы при поиске не учитывался порядок слов? В стандартном поиске похожим образом работает вариант "любое слово"
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль расширенных результатов ARI Quiz Results

Автор Beer

Ответов: 0
Просмотров: 1355
Последний ответ 03.02.2025, 15:27:35
от Beer
Модуль для отображения курсов валют

Автор Геон

Ответов: 2
Просмотров: 2698
Последний ответ 03.02.2024, 22:19:02
от Геон
Модуль «Image Show gk4», не отображается ни картинка, ни текст

Автор kaasin

Ответов: 1
Просмотров: 3954
Последний ответ 13.05.2023, 15:42:15
от anastasya96
Стандартный модуль случайного изображения не выводит фотографии

Автор strix

Ответов: 8
Просмотров: 8651
Последний ответ 19.10.2022, 16:07:11
от Andrej_777
Модуль тегов Joes Word Cloud для Joomla 3

Автор ecolora

Ответов: 1
Просмотров: 3151
Последний ответ 05.05.2022, 19:04:44
от ecolora