Новости 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

Перевод и публикация интервью с Joomla евангелистом на греческом портале Joomla

Перевод и публикация интервью на греческом портале Joomla 🇬🇷

Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉

Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции. Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉

До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊

Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью.

Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент.

🌐 Оригинальное интервью (на английском)
🇬🇷 Интервью на греческом портале (joomla.gr)

Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

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

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Изображения можно просматривать в slimbox, открывать в новом окне или не открывать.

Задание размеров эскизов для пунктов меню. Синтаксис:[a - для article представления]Itemid: ширина высота [Сделать размер по] [Открывать в]; [Сделать размер по]: width, height, both; [Открывать в]: slimbox, window, article, none; Пример: a50: 300 300

Для внешних ссылок добавляется класс outer

Не делаются эскизы для изображений, помещенных в ссылку.
Эскизы не делаются для содержимого div с классом nothumb

Можно задать размер эскиза для нужного изображения в материале. Для этого нужно добавить класс stylesize или tagsize. Для класса stylesize используется размер, указанный в атрибуте style. Для класса tagsize используется размер, указанный в атрибутах width и height.

Добавление логотипа на изображения.

Посмотреть
Скачать
JED

« Последнее редактирование: 10.06.2013, 22:11:26 от snikolai »
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Удалил из style, добавляемого визуальным редактором width и height.
И повторные выводы src были.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
эммм.
а в чём фишка?
я не против ещё одного плагина, но просто про этот даже не написано ничего толком.
как работает: вызывается ли через спецсинтаксис или перехватывает уменьшенные в редакторе изображения?
и тд.
пока что я вижу аналог SIG. с учётом известности оной и равного функционала-зачем нужен этот плагин?
я тоже один плагин слимбоксовый допиливал под себя и тут выложил, но я написал инструкцию к нему нормальную, а ты как-то совсем уж вяло распространяешь свою работу. це неправильный подход :)
 
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
а что такое SIG?
+
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
PashkaRu, кто стёр твою память?! ))))
или КАК ТЫ МОГ ЗАБЫТЬ/не знать священную аббревиатуру simple image gallery? :)
это ж один из самых древних и распространённых плагинов подобного рода для Joomla. есть для ветки 1.0 и 1.5 в платной и бесплатной версиях
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
да я не стирал : ) я им и не пользовался никогда : )
я уж не говорю про то, что я веткой 1.0 тоже не пользовался : ))

из подобных штук юзаю продукцию мавика, а щас перешел на продукция Дениса Носова : )
у него более продвинутая штучка...
+
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
эммм.
а в чём фишка?
я не против ещё одного плагина, но просто про этот даже не написано ничего толком.
как работает: вызывается ли через спецсинтаксис или перехватывает уменьшенные в редакторе изображения?
и тд.
пока что я вижу аналог SIG. с учётом известности оной и равного функционала-зачем нужен этот плагин?
я тоже один плагин слимбоксовый допиливал под себя и тут выложил, но я написал инструкцию к нему нормальную, а ты как-то совсем уж вяло распространяешь свою работу. це неправильный подход :)
Этот плагин логикой напоминает http://extensions.joomla.org/extensions/photos-a-images/articles-images/7894
т.е. плагин Дениса Носова, о котором упоминалось выше)
я им тоже пользовался, у меня возникли там вопросы: размер изображения брался не фиксированный из настроек плагина, а как в height и width и эскиз показался мутноватым, а изменением качества вопрос не решился (хотя может я тут, что не понял)

Логика мне нравилась, сделал попроще (там один слимбокс и кода меньше, легче потом ориентироваться)

Логика такая:
в материал вставляется картинка, например, 500 на 400, в виз. редакторе уменьшаем ее, чтобы читаемо было (в виз. редакторе).
Плагин делает эскиз размером заданным в настройках плагина в папке для кеша. Настройки задаются для материалов, блога и главной страницы.
И на сайте видим эскиз, щелкнули по нему - открылось исходное изображение в слимбоксе или в новом окне (задается в настройках)
Эскиз делается один раз. Если поменяли размер эскиза и нужно заново их сделать, то очищаем кеш.
Эскизы можно делать трех видов: размер выравнивается по ширине, по высоте и вписывается пропорционально в заданные ширину и высоту.

Два режима:
1. Эскизы делаются для всех изображений. Чтобы не делался эскиз задаем ему класс nothumb
2. Выборочно для изображений с классом thumb
« Последнее редактирование: 15.05.2010, 00:00:38 от snikolai »
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
SmartResizer + RokBox  О_о
да, я знаю - есть и еще подобные)
я этим плагином не претендую на оригинальность, если говорить об этом, то может тогда см. сообщение ниже
« Последнее редактирование: 15.05.2010, 00:20:27 от snikolai »
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
по поводу SIG, делает эскизы из папки с изображениями

в этом духе делал http://joomlaforum.ru/index.php/topic,107798.0.html (http://jdevelop.info/download/show_fileinfo/120-mod-imagescroll-v0-6-zip)
только это модуль

в чем там фишка:
можно брать изображения из подпапок, например, для изображений в материалах сделали папку и подпапки по темам, модулем можно выводить сколько-то (пусть 10 например) случайных изображений в виде скрулера (и другое еще там есть)
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
он не подобный, он вроде как один в один
я точно не помню, конкретно про этот, когда смотрел было штуки 3 подобных (или почти один в один по логике, по параметрам)
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Цитировать
в материал вставляется картинка, например, 500 на 400, в виз. редакторе уменьшаем ее, чтобы читаемо было (в виз. редакторе).

для меня в плагине Дениса критично именно это. я щас переделываю сайт, там около 700 материалов. в них картинки совершенно разного размера. Так вот, плагин ДН позволяет вообще не вмешиваться в параметры картинки. он их уменьшает до размера, который указан в настройках.
я и так все материалы щас переформатирую вручную, если бы еще и картинки надо было править - я бы повесился : )
собссно, из-за отсутствия такой возможности отказался от использования плагина Мавика.

как я понял, в представленном тут плагине тоже надо вносить размеры уменьшенные.

и плюс там есть еще такая штука, что я могу указать некоторые пункты меню, где картинки НЕ будут изменяться.

правда, щас у меня тоже есть некая фигня, но это я поправлю : )
используется плагин auto readmore. он вставляет в блог категории одну картинку из материала. и на нее вешает ссылку по переходу в материал. плагин ДН делает тоже самое : )
в итоге ошибка валидации, т.к. <a><a>картинка</a></a> : )
+
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Так вот, плагин ДН позволяет вообще не вмешиваться в параметры картинки. он их уменьшает до размера, который указан в настройках.

может сейчас не так (или я не разобрался в настройках), но было так - вставлялся тег такого вида:
Код
<img class="juimage juwidth: 203px; height: 153px;" style="width: 203px; height: 153px;" alt="" src="путь/plugins/content/jumultithumb/Li4vLi4vLi4vaW1hZ2VzL3N0b3JpZXMvYXJ0aWNsZXMvc2Fsb24vUElDVDYwMzJfLmpwZyZhbXA7dz0yNTAmYW1wO2g9MjUwJmFtcDtxPTkw.jpg">
т.е. размер отображения эскиза style="width: 203px; height: 153px;", как я понял, хотя в настройках плагина другие размеры, а это те что добавил виз. редактор, когда изображение в нем уменьшалось
а так, да, там можно задать настройки для пунктов меню и Watermark и выбрать библиотеку лайтбокса, мне тоже этот плагин понравился)

тут тоже также получится <a><a>картинка</a></a> : ), да, нужно подумать как с этим быть)
« Последнее редактирование: 15.05.2010, 09:39:50 от snikolai »
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Плагин можно, также, использовать как класс для создания эскизов
Код
require_once( JPATH_BASE . DS . 'plugins' . DS . 'content' . DS . 'jdvthumbs' . DS . 'thumb.class.php' );
$thumb_obj = new JdvThumbs;

$thumb_obj->set( 'quality', $quality );
$thumb_obj->set( 'method',  $method );
$thumb_obj->set( 'thumbsdir',  JPATH_CACHE . '/plg_jdvthumbs' );
и другие:
function __construct()
{
$this->_thumbParams['width'] = 200;
$this->_thumbParams['height'] = 200;
$this->_thumbParams['quality'] = 100;
$this->_thumbParams['method'] = 'resized';
$this->_thumbParams['sizeon'] = 'both';
$this->_thumbParams['prefix'] = 'thumb';

$this->_thumbParams['thumbsdir'] = 'cache/plg_jdvthumbs';
}

//Создание эскиза:
$thumbsfiles = $thumb_obj->doThumbnail( $files );

//передается массив файлов $files:
$files = array('images/stories/articles/imag1.jpg, 'images/stories/articles/imag2.jpg');
//путь к файлу от корня сайта

массив $thumbsfiles состоит из 2 массивов вида Абсолютный путь к эскизу и Относительный к оригиналу (для url):
Array ( [0] => Array ( [0] => абсолютный путь\cache\plg_jdvthumbs\thumb-a8bad87dfb70c1db3ef5fd676195b262.jpg )
[1] => Array ( [0] => images/stories/flagship. saint petersburg.jpg ) )

URL для эскиза можно получить так:
$thumb_url = $thumb_obj->getURL( 'абсолютный путь\cache\plg_jdvthumbs\thumb-a8bad87dfb70c1db3ef5fd676195b262.jpg' );
просто установить, опубликовывать не надо
http://jdevelop.info/download/show_article/125-thumbs
« Последнее редактирование: 15.05.2010, 09:35:27 от snikolai »
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Код
в итоге ошибка валидации, т.к. <a><a>картинка</a></a> : )
можно так этот момент решить - те картики, что в ссылках - не трогать

сначала выбираем все ссылки и ищем там картинки, добавляем им класс nothumb
потом как обычно ищутся картинки и эскизы для тех у которых класс nothumb - не делаются
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
не, вот как выглядит img:
Код
<img src="http://domidacha.infos/plugins/content/jumultithumb/Li4vLi4vLi4vaW1hZ2VzL3N0b3JpZXMvb2xkZmFxLzE1NF81NDE4LmpwZyZhbXA7dz0yMDAmYW1wO2g9MjAwJmFtcDtxPTkw.jpg" alt="" class="juimage">
т.е. размер там вообще не указан, и в стиле он тоже не указывается.
когда я добавляю картинку, я тока альт прописываю и все, если он нужен. в остальном ничего больше не трогаю.
это как раз то, что нужно...

а с лишними анкорами я справлюсь как _не_программист_ : )
просто найду в одном из этих двух компонентов анкор, да удалю его : )
+
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
если картинка большая например 700 на 700 ее хочется в виз. редакторе стянуть, чтобы места много не занимала)
а редактор уже добавит style="width:250px;height:250px;" (FC например)
и получается что эскиз делался например на 150, а его потом растянет до 250

я в плагине делаю фильтр для этого, касательно размера

Код
<a><a>картинка</a></a>
плагин обновил теперь такого нет, к тем картинкам что уже в ссылках добавляется класс nothumb и они остаются как есть, что логично - если человек делает ссылку на картинке, значит он не предполагает, что для нее нужен эскиз
« Последнее редактирование: 15.05.2010, 21:58:51 от snikolai »
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
ок, лана, уговорил, попробую твой плагин тоже : )
+
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
1. Исправил ошибки.
2. Добавил параметры для пунктов меню.

Синтаксис:

[a - для article представления, c - для категории представления, s - для категории разделов]Itemid: ширина высота [Сделать размер по] [Открывать в]; [Сделать размер по]: width, height, both; [Открывать в]: slimbox, window, article, none; Пример: a50: 300 300, c50: 100 100
« Последнее редактирование: 25.05.2010, 12:36:22 от snikolai »
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Добавил создание эскизов для компонент (опционно)
*

Roberta

  • Захожу иногда
  • 182
  • 0 / 0
скачала плагин, но он почему-то открывает картинку в отдельном окне
как это исправить
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
скачала плагин, но он почему-то открывает картинку в отдельном окне
как это исправить
в настройках плагина можно выбрать как открывать картинку в слимбокс или по другому
м.б. меняли настройки? по-умолчанию д.б. слимбокс, а если раскладка блог переход к материалу
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Можно задать размер эскиза для нужного изображения в материале. Для этого нужно добавить класс stylesize или tagsize. Для класса stylesize используется размер, указанный в атрибуте style. Для класса tagsize используется размер, указанный в атрибутах width и height.
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Кое-что убрал. Добавил добавление логотипа на изображение.
Сделал демо
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Сделал версию для Joomla 1.6

Добавил возможность делать эскизы не с основного изображения а с загружаемого дополнительно файла.
Например, загружаем 2 изображения
изображение.jpg и custom-изображение.jpg

Эскиз делается с custom-изображение.jpg, а открывается изображение.jpg или его большой эскиз
Так может быть эскиз портретом, а большое изображение альбом.
*

torigor

  • Новичок
  • 3
  • 1 / 0
А как его активировать внутри произвольного контента (т.е. не относящегося ни к artiсle, ни к category, ни к blog), например, в blog calendar?
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
через Itemid, в настройках плагина
например
10:200 200 both slimbox

10 это Itemid
*

che-jack

  • Новичок
  • 1
  • 0 / 0
Спасибо за плагин. Простой и эффективный.

Есть ли возможность передавать в параметре title ссылки на картинку содержимое тега ALT исходной картинки.
На данный момент содержимое title берется из названия статьи, а когда мне нужно сделать описание картинки, то пока что нужно делать аналогичный текст для статьи. Это плохо, когда несколько изображений в статье с разными описаниями, когда описание не только индивидуально, но и состоит из нескольких предложений.
1. Логично помещать текст в TITLE ссылки на оригинал из тега ALT.
2. Либо через класс stylesize добавить параметр типа data-content="......"

Первый вариант удобнее. Учитывая, что при выводе в slimbox-ах описание берется из A TITLE, то это единственный приемлемый вариант.
*

snikolai

  • Захожу иногда
  • 221
  • 20 / 0
Спасибо за плагин. Простой и эффективный.

Есть ли возможность передавать в параметре title ссылки на картинку содержимое тега ALT исходной картинки.
На данный момент содержимое title берется из названия статьи, а когда мне нужно сделать описание картинки, то пока что нужно делать аналогичный текст для статьи. Это плохо, когда несколько изображений в статье с разными описаниями, когда описание не только индивидуально, но и состоит из нескольких предложений.
1. Логично помещать текст в TITLE ссылки на оригинал из тега ALT.
2. Либо через класс stylesize добавить параметр типа data-content="......"

Первый вариант удобнее. Учитывая, что при выводе в slimbox-ах описание берется из A TITLE, то это единственный приемлемый вариант.
Текст для title ссылки берется из title картинки.
*

kost757

  • Захожу иногда
  • 376
  • 1 / 2
спасибо, с этим плагином получилось. осталось вам его еще получше Перевести!
*

kolka-jan

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Не получается скачать - выдает "Такой страницы не существует" :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться