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

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
как сверстать такие картинки между пунктами.
вообщем при помощи padding И  смещения картинки я сверстал это меню картинка один. только есть один момент который неустраивает.
картинка разделитель, это видно на второй картинке появляется по краям . а это не красиво.
как сверстать так чтобы небыло картинки разделителя справа?!
чувствую что решение несложное, посоветуйте пожалуйста !


[вложение удалено Администратором]
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Задать картинки всем пунктам меню, а у первого или у последнего, в зависимости от техники, убрать.
У них же ставятся уникальные классы itemN, где N  — это Itemid пункта в админ. части данного меню.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
<table width="100%" border="0" cellpadding="0" cellspacing="1"><tr><td nowrap="nowrap"><a href="/index.php?option=com_content&amp;view=frontpage&amp;Itemid=1" class="mainlevel-nav" id="active_menu-nav">Главная</a>
пардон, я что та недогнал .. речь идет о topmenu . непонял как поставить уникальный класс каждому пункту меню, или как его получить?!
в админке модуля топ-меню в доп параметрах тока
ID тега меню    
Суффикс CSS-класса меню    
Суффикс класса модуля  ,
есть еще изображения отступа, но они не появляются какие не выбирай..
поясните подробнее пожалуйста.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Пишите уникальные характеристики для отдельных пунктов в CSS, например:

Код
ul.mainlevel-nav ul li.item65 a:link, ul.menu-fabout ul li.item65 a:visited{
background-image: none;
color: #fff;
text-decoration: none;
padding: 0 0 0 15px;
}

Ну, и так далее в этом роде, вам надо два крайних айтема описать, это немного.
Fatal error - это не фатально!!! Я проверила.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
собственно .. с CSS у меня всплыла проблема .. понять то что вы предложили понял а реализовать у сожалению не могу..
вот мой конкретный случай..
<table cellpadding="0" cellspacing="0" class="moduletable">
         <tr>
         <td>

            <table width="100%" border="0" cellpadding="0" cellspacing="1"><tr><td nowrap="nowrap"><a href="/index.php?option=com_content&amp;view=frontpage&amp;Itemid=1" class="mainlevel-nav" id="active_menu-nav">Главная</a>

неполучается правильно организовать код стиля ..
по всякому пробовал, но видимо что та не так..
table.moduletable table td a item1
{
background-image:url(../images/dev.jpg);
   color: #fff;
   text-decoration: none;
   padding: 0 0 0 15px;
   background-repeat: no-repeat;
   background-position: center;
} для первого пунтка меню..
подскажите где ошибка?
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
*

sbakur

  • Захожу иногда
  • 169
  • 12 / 0
Заходим в менеджер модулей -> модуль меню -> другие параметры -> и в самом низу есть поле "разделитель" и вписываем   |    Вроде должно получиться так ТЕСТ | ТЕСТ | ТЕСТ | ТЕСТ | ТЕСТ | ТЕСТ | ТЕСТ  
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
В настройках модуля меню выставьте плоский список отображения, а не устаревший горизонтальный, тогда у вас будет все в UL LI и с ними работать гораздо удобней
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
В настройках модуля меню выставьте плоский список отображения, а не устаревший горизонтальный, тогда у вас будет все в UL LI и с ними работать гораздо удобней
Да, если работаете на ветке 1.5.х, то лучше тогда строить меню на списке.
При этом Вы получите уникальность каждого пункта меню по классу.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
<ul id="mainlevel-nav"><li><a href="/index.php?option=com_content&amp;view=frontpage&amp;Itemid=1" class="mainlevel-nav" id="active_menu-nav">Главная</a></li><li><a href="/index.php?option=com_content&amp;view=article&amp;id=1&amp;Itemid=28" class="mainlevel-nav" >Услуги</a>

вот теперь у меня список и опять с CSS ничего не выходит .. пробовал с кодом совершенно различные комбинации

index.php?option=com_content&amp;view=frontpage&amp;Itemid=1

то есть эта часть должна выделится в отдельный класс для каждого пункта отдельный естессно, а не быть в составе ссылки как у меня в данном примере?!

чесное слово не ожидал подобных препятствий с менюшкой ..
жду предложений.. что не так делаю господа?
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Код
ul.mainlevel-nav li.item1 a:link
- возможно, нужно вот такое правило для характеристики первого пункта - в этих css-правилах важна последовательность букв (и слогов :))- ее лучше отслеживать файербугом, как он пишет, так и писать в css.
Fatal error - это не фатально!!! Я проверила.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
спасибо девушка Аня, но увы, ваша последовательность так же бессильна как и мои .. тож использую firebug
« Последнее редактирование: 26.09.2009, 23:45:58 от robotwerder »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
К примеру смотри сайт
Левое меню имеет вывод
Код: html4strict
<ul class="menu">
<li class="parent item1">
<a href="/infrastructure.html">
<img align="left" alt="infrastructure" src="/images/stories/podrazdel_item.gif"/>
<span>Инфраструктурные решения</span>
</a>
</li>
</ul>
Вот вам и уникальный класс для пункта меню item1
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
тьфу блин .. сам недоработал.. простите за отнятое время !! выбрал просто "список" и сразу же получил нужную конструкцию . ща буду верстать.
. перебрал все пункты в админке а "список " пропустил ..
всем спасибищще за отклик!
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
возвращаюсь к теме верхнего меню чтобы узнать у вас, можно ли теперь зафиксировать его по ширине?!, чтобы при уменьшении окна браузера пункты списка не проваливались на след строку :(

непродумал этот важный момент, а теперь заказщик попросил доп пункты..
сейчас оно выглядит так
Код
<!-- MENU -->
<table class="menubg" width="100%" height="33px" align="center" border="0" cellpadding="0" cellspacing="0" background"menu_bg_.jpg">
   <td> <div id="top" align="center"> <table cellpadding="0" cellspacing="0" class="moduletable">
<tr>
<td>


<ul class="menu-nav" id="top">
<li id="current" class="active item1">
<a href="http://beta.openvpn.ru/">
<span>Главная</span>
</a>
</li>
<li class="item59">
<a href="/index.php?option=com_content&amp;view=article&amp;id=69&amp;Itemid=59&amp;lang=ru">
<span>Технологии</span>

</a>
</li>
<li class="item18">
<a href="/index.php?option=com_content&amp;view=category&amp;id=39&amp;Itemid=18&amp;lang=ru">
<span>Настройка и помощь</span>
</a>
</li>
<li class="item29">

<a href="/index.php?option=com_content&amp;view=article&amp;id=67&amp;Itemid=29&amp;lang=ru">
<span>Цены</span>
</a>
</li>
<li class="item30">
<a href="/index.php?option=com_contact&amp;view=contact&amp;id=1&amp;Itemid=30&amp;lang=ru">
<span>Контакты</span>
</a>

</li>
</ul> </td>
</tr>
</table>
</div></td>

</table>

<!-- /MENU -->



и CSS
Код
ul.menu-nav 
{
list-style-type: none;

}
ul.menu-nav li
{
display: inline;
padding-left: 112px;
margin: 0px;
}
ul.menu-nav li a
{
color: #FFFFFF;
font-size: 14px;
text-decoration: none;
}
ul.menu-nav li a:hover
{
color: #FFFFFF;
font-size: 14px;
text-decoration: underline;
}
ul.menu-nav li a:visited
{
color: #FFFFFF;
font-size: 14px;
    text-decoration: none;
}
ul.menu-nav li.item28
{
background-image: url(../images/dev.jpg);
background-repeat: no-repeat;
color:#FFFFFF;
background-position: 50px center;
display: inline;
}
весь код не стал приводить .. проблема на сайте http://beta.openvpn.ru/
 в идеале хорошо бы пункты динамически сжимались,но думаю это импоссибл поскольку эт не таблицы .. др модуль нехочется исп-ть, чую что решение существует, эт наверняка типичная проблемка.
посоветуйте пожалуйста решения уважаемые профи, участники и гости форума
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Код
ul.menu-nav li
{
display: inline;
padding-left: 112px;
margin: 0px;
}
Вот где первое зло - паддинг не дает меню сжиматься! А потом еще сам имидж images/dev.jpg - может, он длинный и занимает много места?
Fatal error - это не фатально!!! Я проверила.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
мм.. недостаток опыта в верстке не позволяет мне верить что такое меню может сжиматься по ширине как таблички, ровно как и неверить вам у меня оснований нет уважаемая Анна. Буду проверять.
дело в том что при помощи паддинга я привычно выстраиваю расстояние меж пунктами меню а картинки слишком узкие хотя на всяк случай определю их ширину в правилах css.
видимо у меня 2 варианта. 1) сделать так чтобы пунткты сжимались по ширине
                                      2)  либо зафиксировать его ширину и оцентрировать

и при первом и втором варианте пункты не должны падать вниз. о результатах доложусь. хотя перегуглил уже порядком сайтов :(
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Текст отцентруйте и паддинг не нужен будет, я так думаю. А ширина всего меню, то есть всего ul  пусть будет 100 процентов. Ну, или 80, сколько там нужно...
Fatal error - это не фатально!!! Я проверила.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
               |----1й пункт----| ----2й пункт----|                      

вот для чего я испльзую паддинг, вот по такому принципу как на моей схемке пунктиром
а какой текст центрировать и зачем я простите не понял. замысла тож не просёк :(
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Код
ul.menu-nav li.item28
{
background-image: url(../images/dev.jpg);
background-repeat: no-repeat;
color:#FFFFFF;
background-position: 50px center;
display: inline;
}
Вот смотрите, сколько тут еще места - целых 50 пикселей! Этот тоже расстояние фиксированное, как и паддинг 112, которое не дает меню сжиматься! Ставите ваш имидж в позицию
Код
background-position: right; background-repeat: no-repeat;
А текст в контейнере li ставите по центру
Код
ul.menu-nav li
{
display: inline;
text-align: center;
        margin: 0;
}
Мне кажется, так и текст будет на месте, и разделитель справа, и никаких препон для того, чтобы пункты расширялись, если есть место, и сужались, если места не хватает. В CSS важна человеческая логика и великий сайт htmlbook.ru
Fatal error - это не фатально!!! Я проверила.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
я что та недогнал всё равно .. если убрать паддинг между пунктами меню не будет пространства ипункты будут слипабтся по ширине. меня как раз интересуют интервалы между меню. Мне нужно чтобы пропуски были и я решил выставить либо паддинги либо ширину. но опять и в том и другом случае при превышении определенной ширины  либо паддингов крайний правый пункт сваливатеся вниз :(

Код
	ul.menu-nav 
{
list-style-type: none;
margin:0px;
padding:0px;
float:left;
display:block;
POSITION: absolute;
}
ul.menu-nav li
{
display: inline;
text-align: center;
    margin: 0;
/*padding-left:40px;
padding-right:40px;*/
FLOAT: left;
POSITION: relative;
width:160px;
}

*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Так вы задайте всему ul ширину 100%, и все пункты распространятся на эти 100%!
Fatal error - это не фатально!!! Я проверила.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
к сожалению всё не так радужно как кажется на словах..
при width 100% ul пункты никак не разъезжаются на всю ширину а остаются впритык друг другу посередине..
видимо необходимо другое решение, другой подход.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Да, правда ваша, для списка только паддинги задают отбой... Остается либо все переписывать напрочь,  либо подобрать паддинги не слишком большие и добавить white-space: nowrap; тогда ничего никуда съезжать не будет, а будет возникать полоса прокрутки при узком экране... Хотелось бы, конечно, иметь стандартный тип меню в ячейках таблицах - но нет в мире совершенства...
Fatal error - это не фатально!!! Я проверила.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
а вот с white-space: nowrap; попробую.
видимо попробую для каждого пункта выставить такие отступы. Спасибо :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как уменьшить отступ между Title и Components в шаблоне Helix3

Автор artem_wrong

Ответов: 21
Просмотров: 6940
Последний ответ 17.06.2022, 22:42:47
от Scaltro
Кликабельность псевдоэлемента в пункте меню

Автор vasilii.pupkov

Ответов: 4
Просмотров: 5029
Последний ответ 29.12.2021, 23:15:38
от v42bis
Выпадающее меню

Автор DrShepard

Ответов: 10
Просмотров: 4317
Последний ответ 20.10.2021, 12:36:16
от DrShepard
Как закруглить края выпадающего меню?

Автор coliandra

Ответов: 1
Просмотров: 2758
Последний ответ 11.12.2020, 21:15:57
от effrit
При прокрутке страницы виджет залезает на меню

Автор coliandra

Ответов: 2
Просмотров: 2547
Последний ответ 27.11.2020, 11:33:58
от coliandra