Новости 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 Гость просматривают эту тему.
  • 2 Ответов
  • 1323 Просмотров
*

dimochkasainr

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Имеется нужда сделать красивые чекбоксы в форме. Заказчик попросил. Но как задать для них стиль не фига не понимаю. В макете формы все выглядит допустим так...

   <div class="rsform-block rsform-block-test">
      <div class="formControlLabel">{test:caption}</div>
      <div class="formControls">
      <div class="formBody">{test:body}<span class="formValidation">{test:validation}</span></div>
      <p class="formDescription">{test:description}</p>
   </div>
А стиль для чекбосов надо допустим задать такой сlass. Чтобы вышло типа <input type="checkbox" class="js-switch" checked />

Как мне подставить класс? Ведь в макете нет явного синтаксиса. Здесь только условные переменны, которые компонент потом компилирует в HTML код. Извините, если лажаю с терминологией, жду помощи.
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
если для всех чекбоксов, то input[type="checkbox"] {xxx:bla-bla;}
если только для определенных, то смотрите внутри какого контейнера они находятся
*

dimochkasainr

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Извиняюсь заранее за тупость. Но как я все это пропишу через один стиль


Код
.toggle, .toggle2 {
  position: absolute;
  margin-left: -9999px;
  visibility: hidden;
}
.toggle + label, .toggle2 + label {
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  user-select: none;
}
.switch{
margin: 10px 10px;
}

/*Горизонтальный переключатель*/
input.toggle-round + label {
  padding: 2px;
  width: 118px;
  height: 60px;
  background-color: #dddddd;
  border-radius: 60px;
}
input.toggle-round + label:before,
input.toggle-round + label:after {
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 1px;
  content: "";
}
input.toggle-round + label:before {
  right: 1px;
  background-color: #ea574a;
  border-radius: 60px;
  transition: background 0.4s;
}
input.toggle-round + label:after {
  width: 60px;
  background-color: #fff;
  border-radius: 100%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: margin 0.4s;
}
input.toggle-round:checked + label:before {
  background-color: #8ce196;
}
input.toggle-round:checked + label:after {
  margin-left: 60px;
}

/*Вертикальный переключатель*/
input.toggle-round2 + label {
  padding: 2px;
  width: 60px;
  height: 118px;
  background-color: #dddddd;
  border-radius: 60px;
}

input.toggle-round2 + label:before,
input.toggle-round2 + label:after {
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 1px;
  content: "";
}

input.toggle-round2 + label:before {
  right: 1px;
  background-color: #f1f1f1;
  border-radius: 60px;
  transition: background 0.4s;
}

input.toggle-round2 + label:after {
  width: 60px;
  height: 60px;
  background-color: #fff;
  border-radius: 100%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: margin 0.4s;
}

input.toggle-round2:checked + label:before {
  background-color: #75DBF0;
}
input.toggle-round2:checked + label:after {
  margin-top: 60px;
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавить в label класс

Автор seffpapy

Ответов: 0
Просмотров: 1243
Последний ответ 12.07.2015, 20:57:16
от seffpapy