Новости Joomla

SW JProjects v.2.6.0 - компонент каталога расширений для Joomla

👩‍💻 SW JProjects v.2.6.0 - компонент каталога расширений для Joomla.Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам.👩‍💻 v.2.6.0. Что нового?Этот релиз прежде всего связан с SEO и AI-оптимизацией. - Микроразметка Schema.org.Добавлен плагин микроразметки Schema.org для сущностей компонента. Для списков используется ListItem, для страницы проекта и версии - SoftwareApplication, для страницы документации - TechArticle. Плагин группы schemaorg в отличие от стандартных плагинов заполняет данные автоматически, но встраивает данные в граф сущностей микроразметки Joomla. Также исправляется одна ошибка генерируемой ядром микроразметки в зоне ответственности компонента.- Улучшение поиска по ключам. В панели администратора в списке ключей теперь можно искать по номеру заказа, email, домену, содержимому примечания к ключу.- Список ключей в админке. В списке ключей в панели администратора добавлен вывод домена и примечания- Поиск в списке проектов. Поиск в списке проектов в панели администратора стал более точным. Из полей для поиска убраны лишние поля.Компонент работает на Joomla 6 без включённого плагина обратной совместимости.Страница расширения и скачатьGitHub расширения.Joomla Extensions Directory#joomla #расширения

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

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

V1RTUS

  • Захожу иногда
  • 204
  • 1 / 1
Отделить дивы
« : 02.05.2016, 23:49:39 »
Доброй ночи, проблема в том что позиция right внутри позиции контект, а моя задача вытащить ее отдельно (так же как позицию left), я как понял нашел код где все это тема происходит, но шаблон геморный, а моих знаний не хватает помогите ребята)

Сейчас так
[ left ] [ conten right ]

нужно так

[ left ] [ conten ] [ right ]

Код
defined( '_JEXEC' ) or die( 'Restricted access' );
if ($position['group'] == '') { // Position none group
echo $yt->renPositionsContentNoGroup($position);

} elseif ( ($position['group'] != 'left') && ($position['group'] != 'main') && ($position['group'] != 'right') ) { // Position has group's user created
if (!isset($countGSpe)) {
$countGSpe = 0;
}
$countGSpe ++;


if($countGSpe == 1) {
 
echo '<div id="' . $position['group'] . '" class="'.$yt_render->arr_GI['maintop']['class'].'">';
echo $yt->renPositionsGroup($position);  

if($tagBD['count-'.$position['group']] == 1) {
$countGSpe = null;
echo '</div>';
}
} elseif ( $countGSpe == $tagBD['count-'.$position['group']] && $tagBD['count-'.$position['group']] > 1 ) {

echo $yt->renPositionsGroup($position);  

$countGSpe = null;
echo '</div>';
} else {
echo $yt->renPositionsGroup($position);  
}

} elseif ( ($position['group'] == 'left')
  ||($position['group'] == 'main')
  ||($position['group'] == 'right') ) { // Position has group's framework fixed - left, main, right
 
if($position['group'] == 'left') {
$countL ++;
if($countL == 1) {

echo '<aside id="content_left" class="'.$yt_render->arr_GI['left']['class'].'">';
echo $yt->renPositionsGroup($position, 'block-content');
if($tagBD['count-group-left'] == 1) {
echo '</aside>';
}
} elseif ($tagBD['count-group-left'] == $countL && $tagBD['count-group-left'] > 1) {
echo $yt->renPositionsGroup($position, 'block-content');
echo '</aside>';
} else {
echo $yt->renPositionsGroup($position, 'block-content');
}
} elseif ($position['group'] == 'main') {
$countM++;

if ($countM == 1) {
echo '<div id="content_main" class="'.$yt_render->arr_GI['main']['class'].'">' ;
echo $yt->renPositionsGroup($position, 'main');

if($tagBD['count-group-main'] == 1 ) {
echo ' </div>';
echo '</div>';
}
} elseif ( ($tagBD['count-group-main'] == $countM) && ($tagBD['count-group-main'] > 1) ){
echo $yt->renPositionsGroup($position, 'main');

echo '</div>';
} else {
echo $yt->renPositionsGroup($position, 'main');
}
} elseif ($position['group'] == 'right') {
$countR ++;
if($countR == 1) {      
echo '<aside id="content_right" class="'.$yt_render->arr_GI['right']['class'].'">';
echo $yt->renPositionsGroup($position, 'block-content');
if($tagBD['count-group-right'] == 1) {
echo '</aside>';
}
} elseif ($countR == $tagBD['count-group-right'] && $tagBD['count-group-right'] > 1) {
echo $yt->renPositionsGroup($position, 'block-content');
echo '</aside>';
} else {
echo $yt->renPositionsGroup($position, 'block-content');
}
}
}
?>
*

xainex

  • Новичок
  • 7
  • 0 / 0
Re: Отделить дивы
« Ответ #1 : 21.09.2016, 13:46:32 »
Столкнулся с аналогичной проблемой. У Вас получилось ее решить?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 780
Последний ответ 07.09.2024, 13:19:48
от timofe