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

Lucifer999

  • Новичок
  • 4
  • 0 / 0
Ошибка Joomla
« : 17.06.2011, 10:58:33 »
Доброго времени суток дорогие друзья не могли бы мне помочь разобраться, как вы понимаете, я новичок и не могу разобраться  у меня на главной странице вот такая вот ошибка
Deprecated: Function ereg_replace() is deprecated in M:\home\Sait \www\templates\yoo_level\html\modules.php on line 50 что делать и как от неё избавиться можете объяснить мне само доступным способом.  Буду вам очень благодарен
 ! ! ! !
*

Lucifer999

  • Новичок
  • 4
  • 0 / 0
Re: Ошибка Joomla
« Ответ #1 : 17.06.2011, 10:59:26 »
У меня стоит Joomla 1.5.22
*

olaf

  • Захожу иногда
  • 225
  • 23 / 0
Re: Ошибка Joomla
« Ответ #2 : 17.06.2011, 11:16:39 »
Видимо у вас PHP 5.3, а там функции "ereg"  и "ereg_replace" отменены.
Вариантов решения проблемы несколько:
1) вернуть PHP 5.2, что, конечно, самое правильное,
2) подавить вывод ошибок, вписав в .htaccess строки:
php_value display_errors 0
php_value error_reporting 7
3) в коде модуля заменить функции "ereg" на "preg_match" и "ereg_replace" на "preg_replace"
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #3 : 22.04.2012, 00:01:16 »
При создании сайта (Мой первый сайт). Выдаёт такую ошибку:   
 Deprecated: Function ereg_replace() is deprecated in Z:\.......\www\templates\yoo_level\html\modules.php on line 52
 Я гуглю. Единственное нашол это надо поменять ereg_replace на preg_repalce.
 Делаю так: пишу вот такую строку

ereg_replace('expression') -> preg_replace('/expression/')

// set badge if exists
   $suffix = ereg_replace(' +',' ', $suffix); // trim all whitespaces
   $split = explode(' ', $suffix);
   $suffix = $split[0];
   if (count($split) == 2) {
      $badge = "badge-" . $split[1];
результата нет.
Сайт перестал работать и выводит ошибку я так и не погял как правельно перейти если это решит вышеизложенную проблемуесть ошибка
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #4 : 22.04.2012, 00:58:31 »
ereg_replace - для работы с POSIX
preg_replace - для работы с PCRE

это два разных стандарта работы с регулярными выражениями. по большей части они практически одинаковые и отличаются не сильно.

p.s.
$suffix = preg_replace('/ +/', ' ', $suffix);
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #5 : 22.04.2012, 02:11:42 »
Есть ошибка Deprecated: Function ereg_replace() is deprecated in Z:\.......\www\templates\yoo_level\html\modules.php on line 52
Как её убрать? надо переходить с ereg_replace на preg_replace? И я что то не понял что делать с этой строкой $suffix = preg_replace('/ +/', ' ', $suffix);
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #6 : 22.04.2012, 09:55:48 »
У меня установлена:
Joomla_1.5.23_RE-Stable-Full-Package.
установлен Denwer
при загрузке страници http://localhost/denwer/ в самом низу страници наверно версия моего денвера
Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.3.3 Server at localhost Port 80
« Последнее редактирование: 22.04.2012, 11:04:26 от dobrunov »
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #7 : 22.04.2012, 12:27:15 »
Есть ошибка Deprecated: Function ereg_replace() is deprecated
это НЕ ошибка. это уведомление о том, что эта функция устаревшая и в дальнейшем применяться не будет

надо переходить с ereg_replace на preg_replace?
можно так, можно по другому. в зависимости от необходимости

И я что то не понял что делать с этой строкой $suffix = preg_replace('/ +/', ' ', $suffix);
заменить существующую с ereg_replace в приведенном коде шаблона yoo_level

зы. и кстати, эта "ошибка" к Joomla не относится
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #8 : 22.04.2012, 12:35:16 »
Только что заменил  в тексте "просто взял и заменил Ctrl+C Ctrl+V"  ereg_replace  и вместо нее написал preg_replace

было
 $suffix = ereg_replace(' +',' ', $suffix); // trim all whitespaces
Поменял
 $suffix = preg_replace(' +',' ', $suffix); // trim all whitespaces
Проблема усугубилась
Warning: preg_replace() [function.preg-replace]: No ending delimiter '+' found in Z:\.......\www\templates\yoo_level\html\modules.php on line 50
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #9 : 22.04.2012, 12:51:29 »
с глазами как?
я КАК написал?

$suffix = preg_replace('/ +/', ' ', $suffix);


ёпрст :(
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #10 : 22.04.2012, 13:04:57 »
да я просто Плуг. С первого раза не понимаю.
Спасибо огромное проблема ушла.
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #11 : 22.04.2012, 13:07:46 »
Как оказалось таких штук накопилось у меня много пока было отключенно вывод мелких ошибок может знаете как эту убрать
Deprecated: Function eregi() is deprecated in Z:\..........\www\modules\mod_cblogin\mod_cblogin.php on line 81
код такой
80     // avoid unauthorized page acces at very first login after registration confirmation
81     if (eregi( 'index.php\?option=com_comprofiler&task=confirm&confirmCode=|index.php\?option=com_comprofiler&task=login', $return)) $return = "index.php";
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #12 : 22.04.2012, 13:32:19 »
c eregi сложнее
я так понимаю, по логике, $return проверяется на два урла и, если есть совпадение, то выдается index.php.

имхо тут проще сделать приведение регистра вниз через strtolower и потом тупо сравнить по ||
например:

$return = strtolower($return);
if( $return == 'index.php?option=com_comprofiler&task=confirm&confirmcode=' ||
    $return == 'index.php?option=com_comprofiler&task=login' ) {
        $return = "index.php";
}

и все. не нужны тут регулярки.

зы.
80     // avoid unauthorized page acces at very first login after registration confirmation
кстати, данная проверка.. как бы так помягче сказать :) несколько не надежная - достаточно переставить местами параметры запроса и она уже не пройдет
за такие вещи убивать девелоперов надо :)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #13 : 22.04.2012, 13:53:24 »
девелоперов это что за зверь? Где его взять ?
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #14 : 22.04.2012, 14:58:12 »
Я извеняюсь за своё невежество (для тех кто на бронепоезде повторите ещё раз) но могли бы вы подробно что надо сделать
вот мой код я

80   // avoid unauthorized page acces at very first login after registration confirmation
81   if (eregi( 'index.php\?option=com_comprofiler&task=confirm&confirmCode=|index.php\?option=com_comprofiler&task=login', $return)) $return = strtolower($return);
82                                                                                                                if( $return == 'index.php?option=com_comprofiler&task=confirm&confirmcode=' ||
83                                                                                                            $return == 'index.php?option=com_comprofiler&task=login' ) {
84                                                                                                               $return = "index.php";
85                                                                                                               };

правильно?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #15 : 22.04.2012, 15:12:40 »
строку 81 убрать

зы. лучше попросите помощи у того, кто разбирается в программировании на php
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #16 : 22.04.2012, 15:14:18 »
Если я правильно понял, то я попробовал и изменений не дало.
И может это важно над этим предупреждением есть и было до провеённых изменений ещё одно предупреждение. Может это важно.

Deprecated: Assigning the return value of new by reference is deprecated in Z:\.......\www\administrator\components\com_comprofiler\library\cb\cb.database.php on line 459

458  foreach ( $resultsArray as $k => $value ) {
459            $objectsArray[$k] =& new $class( $this->_db );

Deprecated: Function eregi() is deprecated in Z:\..........\www\modules\mod_cblogin\mod_cblogin.php on line 81

80   // avoid unauthorized page acces at very first login after registration confirmation
81   if (eregi( 'index.php\?option=com_comprofiler&task=confirm&confirmCode=|index.php\?option=com_comprofiler&task=login', $return)) $return = strtolower($return);
82                                                                                                                if( $return == 'index.php?option=com_comprofiler&task=confirm&confirmcode=' ||
83                                                                                                            $return == 'index.php?option=com_comprofiler&task=login' ) {
84                                                                                                               $return = "index.php";
85                                                                                                               }
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #17 : 22.04.2012, 15:18:07 »
Ура пропало! Ты ЦАРЬ!
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #18 : 22.04.2012, 15:20:19 »
Уточню я вставил вот это вместро строки 81
$return = strtolower($return);
if( $return == 'index.php?option=com_comprofiler&task=confirm&confirmcode=' ||
    $return == 'index.php?option=com_comprofiler&task=login' ) {
        $return = "index.php";
} фигурные скобки были красные надо после последней ставить ;
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #19 : 22.04.2012, 15:30:24 »
Сможешь помочь с этим предупреждением.

Deprecated: Assigning the return value of new by reference is deprecated in Z:\.......\www\administrator\components\com_comprofiler\library\cb\cb.database.php on line 459

458  foreach ( $resultsArray as $k => $value ) {
459            $objectsArray[$k] =& new $class( $this->_db );
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #20 : 22.04.2012, 16:17:06 »
Deprecated: Assigning the return value of new by reference is deprecated in
ну потому что это глупо:
459            $objectsArray[$k] =& new $class( $this->_db );
указатель на new... бред! зачем ставить указатель на... УКАЗАТЕЛЬ ЖЕ! при создании экземпляра класса переменная уже автоматом будет указателем на него, потому, как любая переменная является ссылкой на область памяти, где лежит объект.

просто надо убрать амперсанд (&) перед new
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #21 : 22.04.2012, 17:00:01 »
Я в шоке. Опять результат 100%. Отпустило. Пропала эта хрень. Респект и уважуха людям которые знают своё дело. Спасибки.
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #22 : 22.04.2012, 17:03:05 »
А такой вопрос откуда эта хрень взялась? Можно было без этих проблем обойтись?
Я думаю что у большинства таких проблем нет.
Не я не удевлён у меня по жизни так всегда где прошел один нормально я верочно спонткнусь и не потому что под ноги не смотрю,
а потому что вот такой фарт.
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #23 : 22.04.2012, 17:23:18 »
А такой вопрос откуда эта хрень взялась? Можно было без этих проблем обойтись?
просто с развитием меняются подходы в реализации тех или иных вещей в PHP
да и какие же это проблемы?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #24 : 22.04.2012, 18:06:30 »
Продолжаю вас мучить своими головняками:
Есть проблема
Предпологаю что у них один корень проблемы: (таких уведомлений целое ведро )

Deprecated: Assigning the return value of new by reference is deprecated in Z:\...... \www\administrator\components\com_comprofiler\admin.comprofiler.controller.php on line 690

690.       $params =&   new cbParamsEditorController( $row->params, $listXml, $listXml, $null, null, 'cbxml', 'version', '1' );

Удалил перед new значок & сообшение исчезло "данное сообщение выводилось только в админке
" Я сделал правильно?? просто сообщение исчезло но это ещё не результат может так делать нельзя


Deprecated: Assigning the return value of new by reference is deprecated in Z:\ ......www\administrator\components\com_comprofiler\admin.comprofiler.controller.php on line 2205

2205. $cbFielfs = & new cbFields();

Удалил перед new значок & Тут тоже сработало, сообшение исчезло "данное сообщение выводилось только в админке
" Я сделал правильно?? просто сообщение исчезло но это ещё не результат может так делать нельзя



Deprecated: Assigning the return value of new by reference is deprecated in Z:\......\www\administrator\components\com_comprofiler\plugin.class.php on line 663

663.    $cache[$classname][$actionType][$action_cleaned]   =& new CBSimpleXMLElement( $xmlString );

Удалил перед new значок & Тут тоже сработало, сообшение исчезло "данное сообщение выводилось на стронице сайта и в админке
" Я сделал правильно?? просто сообщение исчезло но это ещё не результат может так делать нельзя



Deprecated: Assigning the return value of new by reference is deprecated in Z:\......\www\administrator\components\com_comprofiler\plugin.class.php on line 672

672. $cache[$classname][$actionType][$action_cleaned]   =&   new CBSimpleXMLElement( trim( file_get_contents( $xmlfile ) ) );

Удалил перед new значок & Тут тоже сработало, сообшение исчезло "данное сообщение выводилось на стронице сайта и в админке
" Я сделал правильно?? просто сообщение исчезло но это ещё не результат может так делать нельзя



Deprecated: Assigning the return value of new by reference is deprecated in Z:\......\www\components\com_comprofiler\plugin\user\plug_cbcore\cb.core.php on line 1609

1609.  $cbFields            =&   new cbFields();

Удалил перед new значок & Тут тоже сработало, сообшение исчезло "данное сообщение выводилось только на стронице сайта (почему так)
" Я сделал правильно?? просто сообщение исчезло но это ещё не результат может так делать нельзя



?Дальше можно продолжать в таком же духе?
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #25 : 22.04.2012, 19:08:15 »
А тут так не получается
Зарегистрировал пробного пользователя и вылизла такая штука :(
Deprecated: Function split() is deprecated in Z:\.....\www\administrator\components\com_comprofiler\library\phpmailer\phpmailer.phpmailer.php on line 463

463.     $toArr = split(',', $to);
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #26 : 22.04.2012, 19:28:54 »
Я сделал правильно??
да. везде одно и то же.

463.     $toArr = split(',', $to);
в данном случае split можно заменить на explode
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #27 : 22.04.2012, 20:03:29 »
спасибо.
Опять помогло.
Существует какой то справочник в котором написано: что вот это надо заменить на это.
Может переустановка  Community Builder решит часть этих проблем?
А то я так тебя буду долго мучать пока тебе не надоест и ты мне скажешь ВСЁ, а дальше сам.
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Ошибка Joomla
« Ответ #28 : 22.04.2012, 20:28:00 »
Может переустановка  CommunityBuilder решит часть этих проблем?
спроси у разработчиков СВ
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

dobrunov

  • Захожу иногда
  • 64
  • 0 / 1
Re: Ошибка Joomla
« Ответ #29 : 22.04.2012, 20:43:08 »
качаю и буду ставить CommunityBuilder рус 1,7 вроде написанно что совместима со всеми Joomlaми и с 1,5 тоже.
Сайт сохранил на всяк случай.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla накешировала 200Mb в директорию cache/page при отключенном кешировании, что за ...?

Автор Marygold

Ответов: 12
Просмотров: 7386
Последний ответ 27.09.2023, 09:23:54
от XFQDesNik
Ошибка "Некорректное изображение"?

Автор Iliayy

Ответов: 8
Просмотров: 10087
Последний ответ 12.11.2020, 22:26:47
от PaLyCH
Ошибка - JHTMLBehavior::jquery not supported

Автор ProkopChamp

Ответов: 3
Просмотров: 4195
Последний ответ 21.06.2020, 13:46:13
от draff
Joomla и Amazon S3

Автор Ghost_370

Ответов: 14
Просмотров: 12315
Последний ответ 07.04.2019, 09:38:02
от powerful888
Ошибка 500 при входе в каталог tmp

Автор macheninarctica

Ответов: 8
Просмотров: 5533
Последний ответ 08.06.2018, 16:20:41
от ProtectYourSite