Новости Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 Подпишись на @joomlafeed.#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

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

Rorschach

  • Новичок
  • 9
  • 0 / 0
Добрый день коллеги,

Есть простой на первый взгляд вопрос: Как принудительно отключить кеширование CSS и JS?

Кеширование у меня отключено в глобальных настройках, а также отключен системный плагин кеширования.
НО, Joomla 2.5 все равно создает кеш CSS и JS в папаке Cache в корне сайта.

У меня уже есть оптимизация в фале htaccess, мне не нужно это кеширование, так как оно только замедляет загрузку сайта, создавая кеши CSS файлов. Проверял на Google PageSpeed Insights - без этих кешированных CSS и js результаты намного выше.

Собственно вопрос - как принудительно запретить это кеширование? Я не могу понять, почему вообще Joomla 2.5 кеширует, если у меня везде отключено кешировние? Это какой-то внутренний прикол Joomla?
*

SmokerMan

  • Гуру
  • 5291
  • 720 / 26
Я не могу понять, почему вообще Joomla 2.5 кеширует, если у меня везде отключено кешировние?
Joomla  сама ничего не кэширует, возможно это сторонний плагин или какие-то настройки шаблона, если он клубный
*

Rorschach

  • Новичок
  • 9
  • 0 / 0
Как это вообще можно определить, кто кеш создает?

Сторонних плагинов точно нет - когда то были и были успешно удалены.
Про шаблон не думал, пороюсь в нем.
*

Rorschach

  • Новичок
  • 9
  • 0 / 0
Нет - это не шаблон создает кеш.
Было такое в настройках шаблона: Minify and combine CSS and JavaScript into a single file. Use gzip compression and Data URIs to reduce image file requests.

Убрал, проверил - все равно кеш создается.
*

Viktop

  • Захожу иногда
  • 97
  • 5 / 0
в htacces может быть
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
НО, Joomla 2.5 все равно создает кеш CSS и JS в папаке Cache в корне сайта.

Сайты не кэшируют CSS и JS, их кэширует браузер, если веб-сервер проставляет им соответствующие заголовки. Но как я понял создаются файлы CSS и js в папке /cache, тогда единственное что приходит на ум, что есть софт на сервере или плагин, который обрабатывает CSS и JS (сжимает, объединяет) и поэтому уже кэширует результат, что разумно. htaccess тут не причем.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

Rorschach

  • Новичок
  • 9
  • 0 / 0
Вот файл htaccess:

##
# @package      Joomla
# @copyright   Copyright (C) 2005 - 2012 Open Source Matters. All rights reserved.
# @license      GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your SEF url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##


## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.


RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#Redirect to dymanic pages
#RewriteCond %{HTTP_HOST} ^www.tel-number\.ru$ [NC]
#RewriteRule ^(.*)$ https://tel-number.ru/$1 [R=301,L]

RewriteCond %{HTTPS} !^on$
RewriteRule (.*) https://tel-number.ru/$1 [R=301,L]

#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#

#Options +FollowSymLinks
#RewriteEngine On
#RewriteCond %{HTTP_HOST} ^www.tel-number\.ru$ [NC]
#RewriteRule ^(.*)$ http://tel-number.ru/$1 [R=301,NC]

RewriteRule ^our-news /our-services/$1 [R=301,L]

Redirect 301 /our-services/7352-ecommerce-market-in-germany /blog/7352-ecommerce-market-in-germany
Redirect 301 /our-services/7349-toll-free-number-for-landing-pages /blog/7349-toll-free-number-for-landing-pages

## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.


php_flag display_errors 1

########## Begin - ETag Optimization
## This rule will create an ETag for files based only on the modification
## timestamp and their size.
## Note: It may cause problems on your server and you may need to remove it
FileETag MTime Size
# AddOutputFilterByType is now deprecated by Apache. Use mod_filter in the future.
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css text/javascript application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
# Enable expiration control
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault "now plus 1 day"
# CSS and JS expiration: 1 week after request
ExpiresByType text/css "now plus 1 week"
ExpiresByType text/javascript "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
# Image files expiration: 1 month after request
ExpiresByType image/bmp "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
ExpiresByType image/vnd.wap.wbmp "now plus 1 month"
ExpiresByType application/vnd.wap.wbxml "now plus 1 month"
ExpiresByType application/smil "now plus 1 month"
# Audio files expiration: 1 month after request
ExpiresByType audio/basic "now plus 1 month"
ExpiresByType audio/mid "now plus 1 month"
ExpiresByType audio/midi "now plus 1 month"
ExpiresByType audio/mpeg "now plus 1 month"
ExpiresByType audio/x-aiff "now plus 1 month"
ExpiresByType audio/x-mpegurl "now plus 1 month"
ExpiresByType audio/x-pn-realaudio "now plus 1 month"
ExpiresByType audio/x-wav "now plus 1 month"
# Movie files expiration: 1 month after request
ExpiresByType application/x-shockwave-flash "now plus 1 month"
ExpiresByType x-world/x-vrml "now plus 1 month"
ExpiresByType video/x-msvideo "now plus 1 month"
ExpiresByType video/mpeg "now plus 1 month"
ExpiresByType video/mp4 "now plus 1 month"
ExpiresByType video/quicktime "now plus 1 month"
ExpiresByType video/x-la-asf "now plus 1 month"
ExpiresByType video/x-ms-asf "now plus 1 month"
*

Rorschach

  • Новичок
  • 9
  • 0 / 0
Сайты не кэшируют CSS и JS, их кэширует браузер, если веб-сервер проставляет им соответствующие заголовки. Но как я понял создаются файлы CSS и js в папке /cache, тогда единственное что приходит на ум, что есть софт на сервере или плагин, который обрабатывает CSS и JS (сжимает, объединяет) и поэтому уже кэширует результат, что разумно. htaccess тут не причем.


Виктор, вы правильно поняли - создается папка /cache в корневой системе сайта.
Т.е. поспрашивать хостеров, что с их стороны может создавать кеши?
*

Viktop

  • Захожу иногда
  • 97
  • 5 / 0
идет обращение к модулю mod_expires через файл .htaccess
ExpiresByType image/jpeg "now plus 1 month" - вот эта шляпа и задает кэширование

туплю, не про это вопрос похоже. Так а папку удалять пробовали? Создается опять?
« Последнее редактирование: 06.05.2016, 16:26:53 от Viktop »
*

Rorschach

  • Новичок
  • 9
  • 0 / 0
идет обращение к модулю mod_expires через файл .htaccess
ExpiresByType image/jpeg "now plus 1 month" - вот эта шляпа и задает кэширование

туплю, не про это вопрос похоже. Так а папку удалять пробовали? Создается опять?

Конечно пробовал, она снова создается
*

SmokerMan

  • Гуру
  • 5291
  • 720 / 26
Rorschach
мы так мистически можем гадать очень долго, пока не увидим реальную ссылку
*

Rorschach

  • Новичок
  • 9
  • 0 / 0
Rorschach
мы так мистически можем гадать очень долго, пока не увидим реальную ссылку

Вот реальная ссылка: https://tel-number.ru/
*

Rorschach

  • Новичок
  • 9
  • 0 / 0
Будут еще варианты где Joomla по умолчанию генерит кеш?
*

Viktop

  • Захожу иногда
  • 97
  • 5 / 0
это?
/cache/template/mootools-core-34a97223.js
/cache/template/widgetkit-ebadf464-f7825ba2.js

это шаблон делает
*

Rorschach

  • Новичок
  • 9
  • 0 / 0
Спасибо, похоже таки да. И шаблон и еще один модель создает кеши.
Всем спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отключить скрипты для одной страницы

Автор mixis

Ответов: 5
Просмотров: 8712
Последний ответ 08.03.2019, 10:06:54
от Сергей Гончаров
Как отключить Joomla template and flash clock by Designers?

Автор Mira

Ответов: 21
Просмотров: 2952
Последний ответ 17.11.2018, 14:47:29
от Mira
Правильное кеширование

Автор Gerostrat

Ответов: 5
Просмотров: 1204
Последний ответ 23.08.2017, 14:10:04
от Gerostrat
Как отключить горизонтальный скорлл страницы?

Автор arut.karpetyan

Ответов: 1
Просмотров: 1052
Последний ответ 05.03.2017, 09:11:30
от dmitry_stas
Избранные материалы - как отключить вывод в колонки?

Автор Olinda

Ответов: 5
Просмотров: 1597
Последний ответ 14.09.2015, 14:38:22
от Olinda