Новости Joomla

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

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

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

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

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

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 3 Ответов
  • 10509 Просмотров
*

Sullivan

  • Захожу иногда
  • 60
  • 0 / 1
Ребята нужно изменить стандартный модуль входа:
<?php
/**
 * @version      $Id: default.php 21322 2011-05-11 01:10:29Z dextercowley $
 * @package      Joomla.Site
 * @subpackage   mod_login
 * @copyright   Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license      GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;
JHtml::_('behavior.keepalive');
?>
<?php if ($type == 'logout') : ?>
<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" id="login-form">
<?php if ($params->get('greeting')) : ?>
   <div class="login-greeting">
   <?php if($params->get('name') == 0) : {
      echo JText::sprintf('MOD_LOGIN_HINAME', $user->get('name'));
   } else : {
      echo JText::sprintf('MOD_LOGIN_HINAME', $user->get('username'));
   } endif; ?>
   </div>
<?php endif; ?>
   <div class="logout-button">
      <input type="submit" name="Submit" class="button" value="<?php echo JText::_('JLOGOUT'); ?>" />
      <input type="hidden" name="option" value="com_users" />
      <input type="hidden" name="task" value="user.logout" />
      <input type="hidden" name="return" value="<?php echo $return; ?>" />
      <?php echo JHtml::_('form.token'); ?>
   </div>
</form>
<?php else : ?>
<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" id="login-form" >
   <?php if ($params->get('pretext')): ?>
      <div class="pretext">
      <p><?php echo $params->get('pretext'); ?></p>
      </div>
   <?php endif; ?>
   <fieldset class="userdata">
   <p id="form-login-username">
      <label for="modlgn-username"><?php echo JText::_('MOD_LOGIN_VALUE_USERNAME')?></label>
      <input id="modlgn-username" type="text" name="username" class="inputbox"  size="18" />
   </p>
   <p id="form-login-password">
      <label for="modlgn-passwd"><?php echo JText::_('JGLOBAL_PASSWORD')?></label>
      <input id="modlgn-passwd" type="password" name="password" class="inputbox" size="18"  />
   </p>
   <?php if (JPluginHelper::isEnabled('system', 'remember')) : ?>
   <p id="form-login-remember">
      <label for="modlgn-remember"><?php echo JText::_('MOD_LOGIN_REMEMBER_ME')?></label>
      <input id="modlgn-remember" type="checkbox" name="remember" class="inputbox" value="yes"/>
   </p>
   <?php endif; ?>
   <input type="submit" name="Submit" class="button" value="<?php echo JText::_('JLOGIN')?>" />
   <input type="hidden" name="option" value="com_users" />
   <input type="hidden" name="task" value="user.login" />
   <input type="hidden" name="return" value="<?php echo $return; ?>" />
   <?php echo JHtml::_('form.token'); ?>
   </fieldset>
   <ul>
      <li>
         <a href="<?php echo JRoute::_('index.php?option=com_users&view=reset'); ?>">
         <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_PASSWORD'); ?></a>
      </li>
      <li>
         <a href="<?php echo JRoute::_('index.php?option=com_users&view=remind'); ?>">
         <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_USERNAME'); ?></a>
      </li>
      <?php
      $usersConfig = JComponentHelper::getParams('com_users');
      if ($usersConfig->get('allowUserRegistration')) : ?>
      <li>
         <a href="<?php echo JRoute::_('index.php?option=com_users&view=registration'); ?>">
            <?php echo JText::_('MOD_LOGIN_REGISTER'); ?></a>
      </li>
      <?php endif; ?>
   </ul>
   <?php if ($params->get('posttext')): ?>
      <div class="posttext">
      <p><?php echo $params->get('posttext'); ?></p>
      </div>
   <?php endif; ?>
</form>
<?php endif; ?>


На вот такой вход <FORM ACTION="#">
<input class="text active" type="text" onfocus="this.value='';" tabindex="1" name="NicName" value="Логин">
<input class="text" type="password" tabindex="2" onfocus="this.value='';" name="Password" value="Пароль">
<input class="submit submit-enter" type="submit" name="Enter" tabindex="3" value="Войти">
</FORM>
Не знаю как это осуществить ибо нет навыков по CSS!
И вообще вариант ли это? Или может нужно выключить ст. мод входа и прописать этот куда нибудь в шаблон но куда? Благодарю за внимание!
*

karabert

  • Захожу иногда
  • 276
  • 30 / 3
Подожди, не трогай модуль, скорее всего в твоем шаблоне уже все сделано, просто отредактируй файл \templates\используемый_шаблон\html\mod_login\default.php
*

Sullivan

  • Захожу иногда
  • 60
  • 0 / 1
Подожди, не трогай модуль, скорее всего в твоем шаблоне уже все сделано, просто отредактируй файл \templates\используемый_шаблон\html\mod_login\default.php
а что именно?
*

Sullivan

  • Захожу иногда
  • 60
  • 0 / 1
вот он
<?php
// no direct access
defined('_JEXEC') or die;
JHtml::_('behavior.keepalive');
?>
<?php if($type == 'logout') : ?>
   <form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" id="form-login">
      
      <?php if ($params->get('greeting')) : ?>
         <div style="margin:0;padding:15px 26px;">
            <?php
               if($params->get('name') == 0) {
                  echo JText::sprintf('MOD_LOGIN_HINAME', $user->get('name'));
               } else {
                  echo JText::sprintf('MOD_LOGIN_HINAME', $user->get('username'));
               }
            ?>
         </div>
      <?php endif; ?>

      <div style="margin:0;padding:15px 26px;">
         <div class="pressMore" style="margin:0;">
            <input type="submit" name="Submit" class="button morebtn" value="<?php echo JText::_('JLOGOUT'); ?>" />
            <input type="hidden" name="option" value="com_users" />
            <input type="hidden" name="task" value="user.logout" />
            <input type="hidden" name="return" value="<?php echo $return; ?>" />
            <?php echo JHtml::_('form.token'); ?>
         </div>
       <div style="clear:both;"></div>
      </div>
   </form>
<?php else : ?>
   <form action="<?php echo JRoute::_( 'index.php', true, $params->get('usesecure')); ?>" method="post" name="login" class="form-login" >
      <?php echo $params->get('pretext'); ?>
      <fieldset class="input">
         <div class="username">
            <label for="modlgn_username"><?php echo JText::_('MOD_LOGIN_VALUE_USERNAME')?></label>
            <input class="loginform" type="text" name="username" alt="username" size="18" />
         </div>
         <div class="password">
            <label for="modlgn_passwd"><?php echo JText::_('JGLOBAL_PASSWORD')?></label>
            <input class="loginform" type="password" name="password"  size="18" alt="password" />
         </div>
       <div style="clear:both;"></div>
         <div class="clearbutton"  style="float:right;">
            <div class="pressMore" style="margin:0;">
               <input type="submit" name="Submit" class="inputbox morebtn" value="<?php echo JText::_('JLOGIN')?>" />
               <input type="hidden" name="option" value="com_users" />
               <input type="hidden" name="task" value="user.login" />
               <input type="hidden" name="return" value="<?php echo $return; ?>" />
               <?php echo JHtml::_('form.token'); ?>
            </div>
         </div>
       <div style="clear:both;"></div>
       <ul class="modlogin">
            <li>
               <a href="<?php echo JRoute::_('index.php?option=com_users&view=reset'); ?>">
               <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_PASSWORD'); ?></a>
            </li>
            <li>
               <a href="<?php echo JRoute::_('index.php?option=com_users&view=remind'); ?>">
               <?php echo JText::_('MOD_LOGIN_FORGOT_YOUR_USERNAME'); ?></a>
            </li>
            <?php
            $usersConfig = JComponentHelper::getParams('com_users');
            if ($usersConfig->get('allowUserRegistration')) : ?>
            <li>
               <a href="<?php echo JRoute::_('index.php?option=com_users&view=registration'); ?>">
                  <?php echo JText::_('MOD_LOGIN_REGISTER'); ?></a>
            </li>
            <?php endif; ?>
         </ul>
      </fieldset>
      <?php echo $params->get('posttext'); ?>
   </form>
<?php endif; ?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Helix Ultimate - изменить font-weight

Автор kunsaid

Ответов: 3
Просмотров: 2848
Последний ответ 30.04.2024, 18:40:24
от kunsaid
Изменить заголовок в шапке сайта

Автор kunsaid

Ответов: 0
Просмотров: 3654
Последний ответ 03.12.2022, 18:34:32
от kunsaid
Как сделать плавающий модуль?

Автор THeCMeX

Ответов: 2
Просмотров: 1900
Последний ответ 08.03.2021, 22:21:01
от Flexderection
Как при наведении изменить сразу два класса CSS?

Автор Kanfur

Ответов: 3
Просмотров: 2262
Последний ответ 03.11.2020, 16:53:43
от Nikolay89
Как изменить размеры h1, h2, h3?

Автор Olichka_kiev

Ответов: 5
Просмотров: 14757
Последний ответ 21.04.2020, 21:16:49
от sivers