Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями 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 Гость просматривают эту тему.
  • 16 Ответов
  • 1883 Просмотров
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
с установкой Joomla 2.5.8 и шаблона по новой перестало работать верхнее меню, а именно drop-down меню перестали отображаться, почему-то скрипт не действует должным образом, помогите пожалуйста!
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Перестало работать javascript-menu
« Ответ #1 : 30.01.2013, 10:51:25 »
Меню модулем сделано ?
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #2 : 30.01.2013, 11:27:29 »
Меню модулем сделано ?
да
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #3 : 30.01.2013, 12:19:02 »
блин теперь во втором хосте погнала ява( помогите пожалуйста, в яве не силен!
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Перестало работать javascript-menu
« Ответ #4 : 30.01.2013, 12:45:42 »
да
Модуль подходит для Joomla 2.5 ?
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #5 : 30.01.2013, 13:48:13 »
Модуль подходит для Joomla 2.5 ?
меню то выходит, но не выходит выпадающее меню, видимо проблема в конфликте java или хз еще где..
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Перестало работать javascript-menu
« Ответ #6 : 30.01.2013, 13:53:19 »
меню то выходит, но не выходит выпадающее меню, видимо проблема в конфликте java или хз еще где..
Возможен конфликт mootools и jQuery . Если меню работает на jQuery , попробуйте прописать noconflict
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #7 : 30.01.2013, 18:53:18 »
Возможен конфликт mootools и jQuery . Если меню работает на jQuery , попробуйте прописать noconflict
непонятно на чем работает менюшка, где именно прописывать?
какие еще рекомандации есть?
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Перестало работать javascript-menu
« Ответ #8 : 30.01.2013, 18:54:38 »
какие еще рекомандации есть?
Возможно путь к скрипту Неправильно указан .
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #9 : 30.01.2013, 19:30:53 »
Возможно путь к скрипту Неправильно указан .
где именно это может быть?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Перестало работать javascript-menu
« Ответ #10 : 30.01.2013, 19:32:23 »
Перестало само или после каких-то изменений на сайте?
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #11 : 30.01.2013, 19:40:25 »
Перестало само или после каких-то изменений на сайте?
дело в том, что на quickstart версии шаблона пашет норм
но я делаю с нуля на новой версии, из-за проблем с junewsultra
смотрел через "Происпектировать элемент" , где меню пашет выводится class=menu dualfish, на неработающем - просто class=menu
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #12 : 30.01.2013, 20:22:51 »
вот код этого меню
Код
function xtcMenu(container, menuClass, sp, del, a, tr, afps, cnt, ali){
  var topmenu;
  if(container === null) { topmenu = $(document.body); }
  else { topmenu = $(container); }
 
  if( !$defined(tr) ) { tr = new Fx.Transition(Fx.Transitions.Quint.easeInOut); }
  if( !$defined(afps) ) {afps = 50; }
  if( !$defined(cnt) ) { cnt = false; }
  if( !$defined(del) ) { del = 0; }
 
  if(topmenu) {
    var menus = topmenu.getElements('ul.' + menuClass);
   
    menus.each(function(menu){
      var menu_lis = menu.getElements('li');
      var uMain = menu.getCoordinates();
         
      menu_lis.each(function(l,i){
        var u = l.getElement('ul');
        if(u) {
          /* u.setStyles({'visibility':'visible'}); */
          if(menu.hasClass('suckerfish')) { u.addClass('suckerfish'); }
          if(menu.hasClass('dualfish')) { u.addClass('dualfish'); }
          if(menu.hasClass('dropline')) { u.addClass('dropline'); }
         
          var uLevel = ((u.getParent()).getParent()).hasClass(menuClass);
          var fx = new Fx.Morph(u, { duration: sp, link:'cancel', transition: tr, fps: afps } );
          var uDim = u.getCoordinates([menu]);
          var uPaddingTop = ( u.getStyle('padding-top') )? u.getStyle('padding-top').toInt() : 0;
          var uPaddingBottom = ( u.getStyle('padding-bottom') )? u.getStyle('padding-bottom').toInt() : 0;
          var uh = uDim.height - (uPaddingTop + uPaddingBottom);
          var mAnimIn;
          var mAnimOut;
                   
          /* IF 1st level dropdown */
          if(uLevel) {
            if (window.ie){ uDim.left = u.getBoundingClientRect().left; }
            //if( (uMain.left + uMain.width) < (uDim.left + uDim.width) ) { u.setStyles({'right': 0 + 'px'}); }
            if(cnt) {
              if( l.getSize().x <= uDim.width ) {
                u.setStyles({'margin-left': ((l.getSize().x - uDim.width)/2) + 'px'});
              }
              else {
                u.setStyles({'margin-left': ((uDim.width - l.getSize().x)/2) + 'px'});
              }
              uDim = u.getCoordinates([menu]);
            }
            if( ali && (uMain.left + uMain.width) < (uDim.left + uDim.width) ) { u.setStyles({'right': 0 + 'px', 'margin-left': 0 + 'px'}); }
            if( ali && (uMain.left) > (uDim.left) ) { u.setStyles({'left': 0 + 'px', 'margin-left': 0 + 'px'}); }


          /* IF 2nd or deeper dropdown */
          }else {
            if (window.ie){ uDim.left = u.getBoundingClientRect().left; }
            if(ali) {
              if( (uMain.left + uMain.width) < (uDim.left + uDim.width) ) { u.setStyles({'left': -uDim.width + 'px'}); }
            }
          }
         
          /* u.addClass('xtcHide'); */
                   
          switch(a) {
            case 'h':
              u.setStyles({'height':'0px'});
              mAnimIn = {'height': uh + 'px'};
              mAnimOut = {'height': 0 + 'px'};
            break;
           
            case 'f':
              u.setStyles({'opacity':0});
              mAnimIn = {'opacity': 1};
              mAnimOut = {'opacity': 0};
            break;
           
            case 'hf':
              u.setStyles({'height':'0px', 'opacity':0});
              mAnimIn = {'height': uh + 'px', 'opacity': 1};
              mAnimOut = {'height': 0 + 'px', 'opacity': 0};
            break;
          }
         
          var timer;
          l.addEvent('mouseenter', function(){
            l.addClass('xtcHover');
            if(window.ie7) { u.setStyle('display', 'block'); }
            timer = $clear(timer);
            fx.cancel();
            fx.start(mAnimIn);
          });
         
          l.addEvent('mouseleave', function(){
            timer = (function(){
              fx.start(mAnimOut).chain(function(){
                l.removeClass('xtcHover');
                if(window.ie7) { u.setStyle('display', 'none'); }
              })
            }).delay(del); 
          });
         
        }/* If there is submenu */
       
      });
     
    });/* if(menu) END */
  }/* if(topmenu) END */
}
дайте понять его пожалуйста, как лучше и с чем совмещать?
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #13 : 30.01.2013, 22:01:01 »
бывает, что заработает, но только не на главной странице, а уже когда заходишь на страницу с подразделами...
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Перестало работать javascript-menu
« Ответ #14 : 30.01.2013, 22:02:36 »
У вас случаем на Jquery 1.9 грузится например с Google?
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #15 : 31.01.2013, 00:25:12 »
У вас случаем на Jquery 1.9 грузится например с Google?
нет, полный 0... сайт на денвере, может проблема в нем?
что в основном отвечает за вывод ява скрипта на главную страницу?
*

vendn

  • Захожу иногда
  • 105
  • 1 / 2
Re: Перестало работать javascript-menu
« Ответ #16 : 31.01.2013, 19:21:39 »
в настройке модуля меню есть menu class suffix - думаю надо ставить на dualfish...
но всеравно есть свои недочеты( кто поможет??
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Menu и Header

Автор everlog

Ответов: 0
Просмотров: 4564
Последний ответ 18.02.2019, 13:40:54
от everlog
Не работает mega menu в шаблоне sj_jare

Автор premisse

Ответов: 5
Просмотров: 4819
Последний ответ 28.02.2017, 21:35:24
от ddenov
zt conto left menu

Автор Roman62

Ответов: 2
Просмотров: 1399
Последний ответ 12.11.2015, 18:12:11
от Roman62
Как убрать отступ в chinch-menu?

Автор xandr

Ответов: 7
Просмотров: 1526
Последний ответ 20.08.2015, 13:26:54
от vipiusss
Как активировать (jQuery Superfish Menu) в шаблоне ( JP Model Agency v4 )?

Автор million777

Ответов: 0
Просмотров: 1444
Последний ответ 30.09.2014, 22:04:32
от million777