Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

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

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Вопрос:
Как подключить отдельный файла CSS для определенного браузера.

Ответ:
Добавить в раздел "head" после общих стилей:
Код
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/<?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
       // checks if browser is Mozilla
 
         if (stristr($nav, "firefox"))
         {
            echo "template_1.css";
         }
      // checks if browser is Opera
 
           elseif (stristr($nav, "opera"))
         {
            echo "template_2.css";
         }
      // checks if browser is Safari
 
         elseif (stristr($nav, "safari"))
         {
            echo "template_3.css";
         }
      // checks if browser is chrome
 
         elseif (stristr($nav, "chrome"))
         {
            echo "template_4.css";
         }
      // If browser is a different one

          else
         {
            echo "template_5.css";
         }
   ?>
" />
Где template_1 - CSS файл для Firefox... дальше по аналогии. template_5.css - для всех остальных браузеров.

Вариант 2 (не проверено)
Добавить джумловский php скрипт в index.php:
Код
<?php
$doc =& JFactory::getDocument();
$browser = &JBrowser::getInstance();
$browserType = $browser->getBrowser();
$browserVersion = $browser->getMajor();
if(($browserType == 'msie') && ($browserVersion < 7))
{
   $doc->addStyleSheet( 'css/ie6.css' );
 
}
echo $browserType.'<br/>';
echo $browserVersion ;
?>
Где за файл определенного стиля отвечает
Код
if(($browserType == 'msie') && ($browserVersion < 7))
{
   $doc->addStyleSheet( 'css/ie6.css' );
 
}
« Последнее редактирование: 12.04.2012, 20:36:22 от lilsaint5800 »
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/template.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/components.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/content.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/
   <?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
       // checks if browser is Mozilla
 
         if (stristr($nav, "firefox"))
         {
            echo "firefoxonly.css";
         }
      // checks if browser is Opera
 
           elseif (stristr($nav, "opera"))
         {
            echo "br_other.css";
         }
      // checks if browser is Safari
 
         elseif (stristr($nav, "safari"))
         {
            echo "br_other.css";
         }
      // checks if browser is chrome
 
         elseif (stristr($nav, "chrome"))
         {
            echo "br_other.css";
         }
      // If browser is a different one

          else
         {
            echo "br_other.css";
         }
   ?>
" />


Здесь у фаирфокса свой файл, у остальных opera..  файл общий (br_other.css).

Вы про это? У меня так не получилось, у меня вместо br_other.css - template.css. Я сделал как в приведенном выше примере. И ни в одном браузере не показывает никакого стиля.
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Дайте ссылку на сайт и код раздела <head> файла, куда вставляли этот код.
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Дайте ссылку на сайт и код раздела <head> файла, куда вставляли этот код.
Сайт на локальной машине делаю. А head скину сейчас.
Код
<head>
<jdoc:include type="head" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl?>/templates/system/css/general.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/typography.css" type="text/css" media="screen,projection" />
     <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" media="screen,projection" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/grid.css" type="text/css" media="screen,projection" />
     <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jQuery.js" type="text/javascript"></script>
</head>
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
А где код проверки браузера, который вы цитировали в прошлом сообщении?
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Ой, дико извиняюсь, скопировал Вам со старого варианта. Вот новый head
Код
<head>
<jdoc:include type="head" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl?>/templates/system/css/general.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/typography.css" type="text/css" media="screen,projection" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/grid.css" type="text/css" media="screen,projection" />
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/
   <?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
       // checks if browser is Mozilla
 
         if (stristr($nav, "firefox"))
         {
            echo "firefox.css";
         }
      // checks if browser is Opera
 
           elseif (stristr($nav, "opera"))
         {
            echo "template.css";
         }
      // checks if browser is Safari
 
         elseif (stristr($nav, "safari"))
         {
            echo "template.css";
         }
      // checks if browser is chrome
 
         elseif (stristr($nav, "chrome"))
         {
            echo "template.css";
         }
      // If browser is a different one

          else
         {
            echo "template.css";
         }
   ?>
" />
     <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jQuery.js" type="text/javascript"></script>
</head>
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Вот замените
Спойлер
[свернуть]
У меня все работает в Firefox подгружается файл Firefox.css во всех остальных template.css
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Спасибо огромное! Все заработало =) А в чем была ошибка?
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/тут не должно быть пробела
   <?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';

*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
<link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/тут не должно быть пробела
   <?php
      $nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) )? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
Еще раз спасибо. Думаю надо подучить хотя бы основы php чтобы не допускать таких глупых ошибок в дальнейшем.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php
<?php
$doc =& JFactory::getDocument();
$browser = &JBrowser::getInstance();
$browserType = $browser->getBrowser();
$browserVersion = $browser->getMajor();
if(($browserType == 'msie') && ($browserVersion < 7))
{
   $doc->addStyleSheet( 'css/ie6.css' );

}
echo $browserType.'<br/>';
echo $browserVersion ;
?>
Есть встроенные функции определения броузеров и версий
И решение в вашем случае
Спойлер
[свернуть]
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Код: php
<?php
$doc =& JFactory::getDocument();
$browser = &JBrowser::getInstance();
$browserType = $browser->getBrowser();
$browserVersion = $browser->getMajor();
if(($browserType == 'msie') && ($browserVersion < 7))
{
   $doc->addStyleSheet( 'css/ie6.css' );

}
echo $browserType.'<br/>';
echo $browserVersion ;
?>
Есть встроенные функции определения броузеров и версий
И решение в вашем случае
Спойлер
[свернуть]

Предыдущий вариант мне больше показался удобным. Да и работает, что самое главное. А больше и не надо =) Но спасибо за ответ.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как подключить Bootstrap для одного дива?

Автор Виталик

Ответов: 7
Просмотров: 3304
Последний ответ 27.11.2012, 15:03:07
от Fedor Vlasenko