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

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Наверное многие знаю, что модальные окно в Joomla можно создавать нативно, просто указывая к ссылке:
Код
class="modal" rel="{handler:'iframe',size:{x:640,y:480}}"

Способ очень удобный, но я ни как не пойму, каким образом здесь можно было бы открыть модальное окно не в пикселях, а во все 100% ширины окна?
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
*

rkron

  • Захожу иногда
  • 316
  • 7 / 0
Ап.
А ширину выставить 100% не пробовали? x:100%
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
А ширину выставить 100% не пробовали? x:100%

Пробовал, так не работает. Надо как-то по другому тут. Через стили тоже не получилось, модальное окно генерируется ява скриптом, в котором непонятно как разрешение в процентах задавать.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Наверное многие знаю, что модальные окно в Joomla можно создавать нативно, просто указывая к ссылке
используйте bootstrap разметку для модальных окон, а не этот бабушкин способ который тянется из Joomla 1.5 :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
используйте bootstrap разметку для модальных окон, а не этот бабушкин способ который тянется из Joomla 1.5 :)

Способ хоть и бабушкин, но он самый простой. Создаешь материал и просто вытягиваешь его линком со спец классом. Все остальное требует плясок с бубном, да и сайт серьезно перегружает, когда этих неактивных скрытых окон много на странице набирается.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так в бутстрапе ифрейм тоже делается, например https://stackoverflow.com/questions/25565716/load-iframe-in-bootstrap-modal . может конечно немного сложнее, но зато юзается только бутстрап, безо всяких дополнительных библиотек, и никаких перегрузок и скрытых окон. еще и плюс ко всему ссылок не будет лишних на материал "со спец классом"
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Увы, для меня это немного, не преодолимая стена) Опыта маловато. Конечно, со временем все само в голове в единую схему соберется, но когда это еще будет.
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
rel="{handler:'iframe',size:{x:640,y:480}}"
Я не знал, но попробовал
Код
<p><a class="modal" href="contact-form/" rel="{handler:'iframe',size:{x:640,y:480}}">Написать сообщение</a></p>

Просто открывается обычная вкладка
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
class="modal"

Сначала надо включить это функцию)

Вот инструкция:
http://www.webadvisor.ru/lightbox-v-joomla.html

А еще у тебя ссыль не правильная, надо:
href="/contact-form?tmpl=component"
« Последнее редактирование: 06.04.2018, 15:57:00 от dm-krv »
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Сначала надо включить это функцию)
Включил, получилось

А еще у тебя ссыль неправильная, надо:
href="/contact-form?tmpl=component"
Ссылка правильная, это папка отдельного скрипта, но всё равно спасибо
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Но вот пробую открывать статью в модальном окне, но открывается вся страница
Код
<a href="/tsena.html?tmpl=component" rel="{handler: 'iframe', size: {x: 800, y: 600}}" class="modal">Статья</a>
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Но вот пробую открывать статью в модальном окне, но открывается вся страница
Код
<a href="/tsena.html?tmpl=component" rel="{handler: 'iframe', size: {x: 800, y: 600}}" class="modal">Статья</a>
Добавил в исключение плагина JL No Doubles строку tmpl=component, (или отключить плагин) заработало  :D

Но вот контент без стилей шаблона отображается, как исправить ?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
добавить подключение CSS в файл /templates/ваш шаблон/component.php
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
добавить подключение CSS в файл /templates/ваш шаблон/component.php
упс, точно, её там нет
Код
<link rel="stylesheet" href="<?php echo $this->baseurl . '/templates/' . $this->template; ?>/css/template.css" type="text/css" />
Спасибо +1
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать что бы метки учитывали в категорию материала?

Автор SalityGEN

Ответов: 1
Просмотров: 420
Последний ответ 21.08.2021, 22:32:32
от SalityGEN
Как сделать такой хитрый hover для border'a?

Автор x1

Ответов: 7
Просмотров: 672
Последний ответ 16.10.2020, 14:48:32
от x1
Модальное окно на смартфоне при попытке закрыть сайт

Автор dm-krv

Ответов: 2
Просмотров: 945
Последний ответ 12.09.2018, 10:20:31
от dm-krv
Как сделать на js клик по элементу по его классу?

Автор dm-krv

Ответов: 17
Просмотров: 1405
Последний ответ 04.04.2018, 19:55:24
от dm-krv