Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис {gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#joomla #расширения

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

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

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Начитался разных статей в интернетах, большинство из них написано несколько лет назад (за это время многое уже могло измениться), и многие склоняются к тому, чтобы исключить Apache полностью из конфигурации сервера, то есть, как я понимаю, использовать nginx+php-fpm вместо проксирования nginx+apache+fcgi_proxy. В последнее время меня одолели GET запросы от пользователей моих расширений, которые посылаются ко мне на сервер каждый раз, когда они заходят на главную страницу своей админки (проверяется актуальная версия расширений). В настоящее время одних обращений лишь к файлам манифеста больше тысячи за сутки. Nginx на фронте у меня стоит, но он не справляется: бывает, временами, что сервер тормозит.

Задумался над конфигурацией своего сервера. Ищу оптимальные варианты: либо полностью отказаться от Apache, либо отключить .htaccess в глобальной конфигурации (говорят, тогда скорость выполнения динамики ничем не отличается от fcgi_proxy) и использовать его в качестве бек-энда по классической схеме. Хотелось бы узнать ваш опыт и возможные плюшки от использования этих схем, или же, может, есть ещё какие-нибудь схемы?
« Последнее редактирование: 03.06.2016, 19:58:15 от Филипп Сорокин »
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Настройка от задач зависит, есть такие где и nginx лишний. Надо не только сервер настраивать, но и сайты по отдельности. Кстати nginx так же бывает отъедает не мало, что на производительность влияет.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
В настоящее время одних обращений лишь к файлам манифеста больше тысячи за сутки.
1000 обращений в сутки и сервер падает?
это что за сервер такой?)
тем более я так понимаю эти обращения ничего не должны делать, тупо проверяется версия и все
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
1000 обращений в сутки и сервер падает?
это что за сервер такой?)
Горыныч, он может не падать но тормоза включать при единовременных подключениях на низком канале связи. Просто забивать его будут медленные обращения.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Горыныч, он может не падать но тормоза включать при единовременных подключениях на низком канале связи. Просто забивать его будут медленные обращения.
Приведение, если у меня лежит на сервере обычный XML файл, то хоть 1000 запросов в минуту не должны влиять никак на его работу
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Приведение, если у меня лежит на сервере обычный XML файл, то хоть 1000 запросов в минуту не должны влиять никак на его работу
То есть искать проблему нужно не в этом? Помимо 1000 запросов в сутки (бывает и больше) к манифестам, у меня на этом сервере ещё 2 ресурса средней посещаемости (10К уников в месяц), количество запросов в целом даже не считал. Но это мы отвлеклись от темы, какую конфигурацию лучше подобрать?

Код
есть такие где и nginx лишний
Не могли бы пояснить подробнее?
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
@Филипп Сорокин
Используйте связку Nginx + apache + php-apc она поможет в отключении open_basedir, что даст прирост в скорости и повысит безопасность, ну и что бы на VPS swap был обязательно.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
php-apc для php 5.5 и ниже
opcache для php 5.6 и выше

Я думаю сначала нужно найти узкое место.
Это может быть Apache, когда много соединений съедают всю оперативку и система уходит в swap.
Это может быть MySQL, когда его потребление оперативки превышает доступную и система уходит в swap.
Это может что-то грузить процессор.
Нужно top смотреть, что создаёт нагрузку.
« Последнее редактирование: 15.04.2016, 12:55:44 от ChaosHead »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Значит всё-таки нет никакой разницы между nginx+php-fpm и nginx+apache+AllowOverride none (выключенный .htaccess)?
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Есть разница, apache потребляет больше оперативки, по скорости в режиме AllowOverride none я не мерял, не знаю. Apache с php тоже может в куче режимов работать, там тоже куча нюансов. fcgid самый быстрый вариант imho с Apache, но жрёт оперативку и в настройке сложнее. nginx+php-fpm - гемор с конфигами, но скорее всего максимально быстро.
Не факт ещё, что у вас Apache нагрузку создаёт. Смотрите top в моменты торможений.
Запустите тестирование сайта под нагрузкой одновременными соединениями https://loadimpact.com/ и смотрите top. Да и результат покажите тоже. Сайт не должен падать при этом тестировании.
« Последнее редактирование: 15.04.2016, 13:07:27 от ChaosHead »
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Опять же что за сайты? Если статичные, то всё закэшируйте. В настройках стандартное(!) кэширование на 24 часа и плагин система кэш. И будут гостям просто сгенерированные страницы отдаваться не напрягая особо php и MySQL.
« Последнее редактирование: 15.04.2016, 13:13:41 от ChaosHead »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Код
Опять же что за сайты?
Один из них образовательный портал с регистрацией, личным кабинетом, сообщениями и пр., другой статичный, к которому идёт куча запросов на манифесты. Можно ли как-то эти манифесты в оперативку положить?
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Да всё можно по идее. Я не знаю как это устроено у вас. Если php отдаёт эти манифесты, то как раз
Цитировать
php-apc для php 5.5 и ниже
opcache для php 5.6 и выше
они кэшируют операционный код (повторяющиеся операции) и переменные. В apc нужно отдельно в конфиге включать кэширование переменных на сколько я помню. В opcache дефолтный конфиг отличный.

Если идут запросы к MySQL и данные получаются оттуда, то в /mysql/my.cnf
пропишите
Код
query_cache_size= 128M
query_cache_limit=2M
query_cache_type=1
Это кэширование запросов. Если таблица не меняется, то повторяющиеся запросы кэшируются в оперативку и отдаётся готовый результат.

Если хотите, чтобы nginx кэшировал результаты, то тут нужно смотреть у него в сторону proxy_store.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Код
Если php отдаёт эти манифесты, то как раз
Нет, у меня они в виде XML по протоколу HTTP. Думаете, если PHP их будет отдавать в закешированном виде, это будет быстрее? А для статики нет такого кэширования в оперативку?
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
В виде XML - это просто файлы лежат на диске? Тогда их уже nginx отдаёт. И это может тормозить только если они огромного размера и их запрашивают каждую секунду и забивают канал. Как написали выше.
Либо XML генерируется на лету php кодом динамически? Тогда будут иметь смысл оптимизации php и кэширование результатов. А ещё лучше написать скрипт, который по крону будет раз в сутки все нужные XML генерировать и сохранять на диск.
Да если вообще у вас проблема из-за XML...
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Просто файлы лежат на диске небольшого размера.
Цитировать
Да если вообще у вас проблема из-за XML...
Да я вот и не понимаю из-за чего. Время ответа сервера всегда ниже 200, а сервер почему-то падает временами, при этом никакой ошибки нет — просто браузер отказывается открывать страницу.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Ну по опыту такое случается, когда Apache падает. Смотри в /var/log/apache2/error.log ошибки
Может бот какой-то приходит в это время и кладёт апач.

И https://loadimpact.com попробуй, если он положит сайт 50-ю одновременными соединениями, то и боты смогут.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Может бот какой-то приходит в это время и кладёт апач.
Посмеялся над фразой! Вы бы его ещё индейцем назвали =) Но совет очень дельный, спасибо, нужно было с этого и начать. Хотя я изучал логи и вроде ничего особенного в них не находил, кроме распространённого эксплойта версий < 3.8 (до сих пор ломятся и очень часто). Оффтоп:
Спойлер
[свернуть]
В общем, спасибо ещё раз за дельные советы. Всем от меня +1. Но тема не закрыта: пожалуйста, делитесь опытом. Судя по всему, тенденция идёт не в сторону Apache. Я люблю этот сервер, т.к. считаю, что в нём очень много гениального и одновременно простого, но из-за его тормознутости уже даже официальный мануал по Joomla советует переходить на Nginx:
https://docs.joomla.org/Nginx
« Последнее редактирование: 15.04.2016, 14:37:05 от Филипп Сорокин »
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Да это без сомнений. Но скажем новичку не посоветуешь Nginx + php-fpm потому, что он просто не осилит сразу править конфиги. Поэтому этот вариант и менее распространён.
Но тенденции к нему движутся. Например в новой панели управления хостингом isp manager - это вариант предлагается по умолчанию. В панели Vesta даже заготовили готовые конфиги под разные CMS и их можно выбирать из списка.
« Последнее редактирование: 15.04.2016, 14:50:03 от ChaosHead »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Вообще, если так подумать, то Joomla! без .htaccess - это нонсенс. Однако, судя по всему, от него нужно избавляться в первую очередь, когда речь заходит об оптимизации: неважно, Nginx это будет чистый или же Apache с отключённым AllowOverride.
« Последнее редактирование: 17.04.2016, 09:28:47 от Филипп Сорокин »
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Код
Опять же что за сайты?
Один из них образовательный портал с регистрацией, личным кабинетом, сообщениями и пр.
Там и комментарии есть и контекста масса страниц?
Если так, то MySQL нагрузку дает при единовременных подключениях.
В этом случае keep-alive можно подрезать.
« Последнее редактирование: 15.04.2016, 20:14:35 от flyingspook »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
MySQL создаёт нагрузку, конечно, но не из-за объема контента, а больше из-за танка в виде JomSocial, который я допилил под собственные нужды. Сделать по уму, без всякого мусора, написанного индусами, пока времени не хватает - сапожник без сапог.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Ну с таким комбайном ОЗУ и МГц железа надо рассматривать ровно по единовременной пиковой нагрузке, простая оптимизация и настройка серверной части это малый процент и он сильно не добавит счастья.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Ну с таким комбайном ОЗУ и МГц железа надо рассматривать ровно по единовременной пиковой нагрузке, простая оптимизация и настройка серверной части это малый процент и он сильно не добавит счастья.
Я оттуда больше половины выкинул. Оставил профиль, список пользователей, личку и интеграцию с комментами. До выпиливания хлама сервер пыхтел заметно, да.
« Последнее редактирование: 16.04.2016, 09:04:48 от Филипп Сорокин »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Вообще, если так подумать, то Joomla! без .htaccess - это нонсенс. Однако, судя по всему, от него нужно избавляться в первую очередь, когда речь заходит об оптимизации: неважно, Nginx это будет чистый или же Apache с отключённым AllowOverride.

Кстати, есть ещё один вариант для тех, кто хотел бы ускорить сайт, но при этом оставить гибкость Apache: можно разрешить .htaccess только в корневом каталоге - в остальных запретить. Хотя это бессмысленно, если у вас имеется доступ к конфигу Apache: все правила рерайтинга, которые все привыкли видеть в .htaccess, можно так же гибко разложить по директориям, правда после каждой правки нужно перезагружать Apache. Но скорость в этом случае увеличится - об этом говорится даже в официальном руководстве к Apache:

Цитировать
You should avoid using .htaccess files completely if you have access to httpd main server config file. Using .htaccess files slows down your Apache http server. Any directive that you can include in a .htaccess file is better set in a Directory block, as it will have the same effect with better performance.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Протестировать бы это дело, на сколько существенный прирост в скорости работы. В установленной Joomla только в корне лежит .htaccess. Ещё у меня несколько компонентов его добавляют к себе в папке. Akeeba backup запрещает входить в папку с бэкапами, чтобы сайт не скопировали. Uddeim тоже кладёт в папку с файлами, тоже запрещает доступ.
С Akeeba backup проблемы нет, просто сменил папку по умолчанию, можно в корень сайта и доступ к файлу уже не получат, если не будут знать его точного названия, что нереально на практике.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
В установленной Joomla только в корне лежит .htaccess

Тут ведь понимаете в чём дело, это неважно, сколько файлов .htaccess присутствует в каталогах. Если для этих каталогов разрешён AllowOverride, то Апач будет рекурсивно пытаться найти .htaccess на всех уровнях выше, даже если его там нет вообще. То есть, если мы имеем такую структуру каталогов: /public_html/site.ru/folder_1/folder_2/folder_3/folder_4/file.php, то при обращении к файлу, Апач ищет .htaccess во всех директориях:

/public_html/site.ru/folder_1/folder_2/folder_3/folder_4
/public_html/site.ru/folder_1/folder_2/folder_3
/public_html/site.ru/folder_1/folder_2
/public_html/site.ru/folder_1
/public_html/site.ru
/public_html

И так, внимание, при обращении к каждому файлу. Если Nginx установлен на фронте, то поиск .htaccess не делается для статики, потому что до Апача она не доходит, а для динамических файлов делается. Вот я и подумал, что, в принципе, можно бы разрешить AllowOverride только в каталоге /public_html/site.ru, или же, если сайтов мало, и правил мало, то в /public_html, если грамотно придумать правила, которые будут работать для всех сайтов универсально. Потестировать было бы интересно, нужно сначала разработать методологию. Но если сами разработчики Apache говорят, что не надо использовать .htaccess, то скорее всего разница будет заметна.

Кстати, я тут на своей локальной Убунте ради интереса установил Joomla на Nginx+php-fpm. Использовать такую конфигурацию не так уж и сложно. Для меня сложнее было разобраться во всех этих репозиториях и консольных командах.
« Последнее редактирование: 17.04.2016, 18:53:58 от Филипп Сорокин »
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
php-apc для php 5.5 и ниже
opcache для php 5.6 и выше
В php 5.5 уже идет поддержка Opcache.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Apache+Nginx+mod_php+php7 (если версия J позволяет) или php 5.6 с opcache, не забыть кеширование MySQL (лучше mariadb) + в нем еще туча параметров, помимо кеширования запросов,  влияющих на производительность (innodb_flush_log_at_trx_commit, low_priority_updates, innodb_flush_method и т.д.). Рассмотреть вариант с кешированием при помощи Nginx. Не забыть создать tmpfs в оперативной памяти под временные файлы, особенно для MySQL + много всего по мелочи.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Mycheap.host - анонимный хостинг, выделенные сервера, vps/rdp, домены, Proxy

Автор mycheap

Ответов: 1
Просмотров: 481
Последний ответ 14.07.2025, 21:34:08
от mycheap
ServerBY - Выделенные сервера и сервера с GPU

Автор ServerBY

Ответов: 3
Просмотров: 1011
Последний ответ 06.04.2025, 20:05:33
от ServerBY
Dedione.store Прокси, vps, gpu, Выделенные сервера, rdp, Домены

Автор dedione_store

Ответов: 0
Просмотров: 1542
Последний ответ 11.04.2024, 20:56:39
от dedione_store
Aeza - мощные виртуальные сервера до 5.7 ГГц от 0.9р/час и выделенные серверы

Автор AezaHost

Ответов: 31
Просмотров: 5695
Последний ответ 01.03.2024, 19:04:35
от AezaHost
✅ vpsmarket.biz | vps/vds сервера по низким ценам!

Автор VPSmarket

Ответов: 0
Просмотров: 1869
Последний ответ 24.01.2024, 12:47:13
от VPSmarket