Новости Joomla

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

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

Antonio1982

  • Новичок
  • 6
  • 0 / 0
Здрасвуйте
У меня собвенный сервер в аренде.
FreeBSD 8 с сервером кеширования NGINX 1.0.6
На нем есть один из сайтов на Joomla версии 1.5.23

При отклбчении кеширования для неё сервак падает, так как дико восзрастает количество HTTPD процессов.
При вклюении кеширования NGINX все супер работает.
Но проблема в следующем.
Если я зайду в админку на этом сайте, и скину ссылку URL в админке на другой компьютер, то он спокойно открывает у себя админку без авторизации.
Но он её открывает слава богу в режиме чтения, поэтому не может пройти по ссылкам в админке.
ТО есть сессии для админа сохраняются.

Помогите правильно настроить nginx.conf

Вот файл .htaccess

Цитировать
AddDefaultCharset utf-8
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

вот параметры nginx при котором кеш работает но в адинке все видно

Цитировать
   # DOMEN.ru
         proxy_cache_path  /var/tmp/nginx/cache/DOMEN_ru  levels=1:2   keys_zone=4:12m inactive=1h;

   server {
                                proxy_cache 4; # 4
      proxy_cache_key  "$scheme$uri$is_args$args$host$cookie_user$proxy_host";
      listen 111.111.111.111:80;
      server_name DOMEN.ru www.DOMEN.ru;
      rewrite ^(/manager/.*)$   https://$host$1   permanent;
      error_page 404 = @fallback;
      location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
         proxy_pass http://111.111.111.111:8080;
         proxy_redirect http://DOMEN.ru:8080/ /;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Real-IP $remote_addr;
      }
      location / {
                                                proxy_cache 4;
                      proxy_cache_key  "$scheme$uri$is_args$args$host$cookie_user$proxy_host";
                                                proxy_pass http://111.111.111.111:8080;
                                                proxy_redirect off;
                                                proxy_set_header   Host             $host;
                                                proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                                                proxy_set_header X-Host $http_host;
                                                proxy_set_header X-URI $uri;
                                                proxy_set_header X-ARGS $args;
                                                proxy_set_header Refer $http_refer;
 
                                                client_max_body_size       10m;
                                                client_body_buffer_size    128k;
                                                proxy_connect_timeout      90;
                                                proxy_send_timeout         90;
                                                proxy_read_timeout         90;
                                                proxy_buffer_size          4k;
                                                proxy_buffers              4 32k;
                                                proxy_busy_buffers_size    64k;
                                                proxy_temp_file_write_size 10m;
 
                                                proxy_cache_valid  200 302 304 10m;
                                                proxy_cache_valid  301 1h;
                                                proxy_cache_valid  any 1m;


      }
      location ~*(administrator|comprofiler)* {
         proxy_pass http://111.111.111.111:8080;
         proxy_redirect off;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Host $http_host;
         proxy_set_header X-URI $uri;
         proxy_set_header X-ARGS $args;
         proxy_set_header Refer $http_refer;
 
         client_max_body_size 10m;
         client_body_buffer_size 128k;
         proxy_connect_timeout 90;
         proxy_send_timeout 90;
         proxy_read_timeout 90;
         proxy_buffer_size 4k;
         proxy_buffers 4 32k;
         proxy_busy_buffers_size 64k;
         proxy_temp_file_write_size 10m;
      }
      location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
                                                proxy_cache 4;
         root /home/DOMEN/data/www/DOMEN.ru;
         access_log off;
      }
      location @fallback {
         proxy_pass http://111.111.111.111:8080;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Real-IP $remote_addr;
      }
   }


Спасибо заранее, если нужны еще какие параметры я скажу.
Я в Joomle не силен, этот сайт только перетащили на сервер, вот теперь мучаюсь с настройкой.
« Последнее редактирование: 04.09.2011, 13:10:27 от Antonio1982 »
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #1 : 04.09.2011, 13:19:33 »
в nginx.conf попробуйте вот этот кусок:
Код
      location ~*(administrator|comprofiler)* {
         proxy_pass http://111.111.111.111:8080;
         proxy_redirect off;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Host $http_host;
         proxy_set_header X-URI $uri;
         proxy_set_header X-ARGS $args;
         proxy_set_header Refer $http_refer;
 
         client_max_body_size 10m;
         client_body_buffer_size 128k;
         proxy_connect_timeout 90;
         proxy_send_timeout 90;
         proxy_read_timeout 90;
         proxy_buffer_size 4k;
         proxy_buffers 4 32k;
         proxy_busy_buffers_size 64k;
         proxy_temp_file_write_size 10m;
      }
поменять на:
Код
       location /administrator/ {
         proxy_pass http://111.111.111.111:8080;
         proxy_redirect http://111.111.111.111:8080;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
*

Antonio1982

  • Новичок
  • 6
  • 0 / 0
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #2 : 04.09.2011, 15:03:26 »
сделал - все также
удалил кеш никса предварительно

а в httpd.conf в виртуал хосте ничего не нужно прописывать дополнительно?
*

Antonio1982

  • Новичок
  • 6
  • 0 / 0
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #3 : 04.09.2011, 15:18:47 »
так но кажеться решилось вот так

      location /administrator {
         proxy_cache off;
         proxy_pass http://111.111.111.111:8080;
         proxy_redirect http://DOMEN.ru:8080/ /;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Real-IP $remote_addr;
      }

Протестирую несколько дней
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #4 : 04.09.2011, 20:33:46 »
ну да кстати, у меня сделано именно:
 proxy_redirect http://DOMEN.ru:8080/ /;

я подумал что разницы не будет  :)
а администратор со слешем на конце у меня
*

Antonio1982

  • Новичок
  • 6
  • 0 / 0
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #5 : 05.09.2011, 12:07:58 »
что еще можешь посоветовать по настройке сервера для Joomla.
НА сервере 7 сайтов.
2гб оперы, Пентиум 4 на соккете 478.
6 сайтов на собственном движке, их общая посещаемость около 32-35 тысяч хостов в сутки.

а вот последний 7-ой, он на Joomla.
Но трафик у него ученический, то есть летом трафика не было.
И вот сейчас с 1 сентября он вышел на рабочий режим - 20-25 тысяч хостов в сутки.
И началось....
Сервер все время падает в пики нагрузки.
Причем мгновенно процессы httpd  увеличиваются до 500-700 с 300.
Вчера вроде настроил NGINX для Joomla, пока ведет себя спокойно.
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #6 : 05.09.2011, 12:14:20 »
раз nginx уже стоит в режиме кеширования, то по большому счёту можно забить на остальное :)
а с апачем надо разбираться, кол-во процессов уменьшить в настройках (тогда часть народа будет отпадать не дойдя до сайта) + кеш в самой Joomla включить + может быть memcache установить (если оперативы свободной много остаётся) + поиграться всё-таки с настройками MySQL - может быть кеши под выборку увеличить у неё.
*

Antonio1982

  • Новичок
  • 6
  • 0 / 0
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #7 : 06.09.2011, 08:18:26 »
А с таблицей jos_session что делать?
ужас какими темпами она растет?
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #8 : 06.09.2011, 08:19:58 »
в идеале она должна чиститься автоматом от просроченных сессий.
А что там конкретно? записей много или фрагментация?
*

Antonio1982

  • Новичок
  • 6
  • 0 / 0
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #9 : 08.09.2011, 12:00:41 »
нпроблему решили, я только знакомлюсь с joomla
просто нужно один сайт в порядок привести.
Посещаемость у него 30-40 тысяч в сутки, проблему ужасные.

Сейчас пытаемся перетащиться Joomla 1.5 на 1,7.
И новая пробелма после миграции титлы стали отображаться краброказаблами.
то есть весь контент отлично отображается, а вот титлы вот такого вида

u0440u0435u0448u0435u0431u043du0438u043a u043a u0437u0430u0434u0430u0447u043du0438u043au0443 u0438 u0443u0447u0435u0431u043du0438u043au0443 u043fu043e u0444u0438u0437u0438u043au0435 u0441u043au0430u0447u0430u0442u044c
*

regdomain

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #10 : 23.09.2011, 13:25:49 »
а это Page Title после миграции. нужно в каждом меню его стереть ручками. другого решения проблемы нет.
*

Akksimo

  • Захожу иногда
  • 215
  • 1 / 0
  • Без выходных
Re: Настройка сервера NGINX для Joomla 1.5
« Ответ #11 : 21.10.2012, 17:19:04 »
поподробнее плз- вот это
Цитировать
      proxy_cache_path  /var/tmp/nginx/cache/DOMEN_ru  levels=1:2   keys_zone=4:12m inactive=1h;

   server {
                                proxy_cache 4; # 4
      proxy_cache_key  "$scheme$uri$is_args$args$host$cookie_user$proxy_host";

так и копировать к себе кроме домена?

и .htacsses не обязательно менять к этим настройкм gnix?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Marygold

Ответов: 12
Просмотров: 6801
Последний ответ 27.09.2023, 09:23:54
от XFQDesNik
Joomla и Amazon S3

Автор Ghost_370

Ответов: 14
Просмотров: 11584
Последний ответ 07.04.2019, 09:38:02
от powerful888
Соц.иконки добавить, Joomla 1.5.26

Автор nuon

Ответов: 1
Просмотров: 7162
Последний ответ 04.03.2018, 21:34:56
от nuon
Как сделать JSON-LD микроразметку для Joomla 1.5

Автор Amigo9876

Ответов: 1
Просмотров: 6442
Последний ответ 05.01.2018, 21:54:43
от krot
Joomla 1.5.26 и мета теги

Автор SLdieR11

Ответов: 3
Просмотров: 4118
Последний ответ 17.10.2017, 10:53:54
от SeBun