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

cheroky

  • Осваиваюсь на форуме
  • 38
  • 0 / 2
Как устранить конфликт JS?
« : 31.01.2013, 23:13:48 »
Привет всем, помогите решить проблему поствил на сайт модуль Xpert Captions и вывел через него некоторый контент, и я хочу поставить еше вкладки но уже не для вывода контента а для другйо цели, но когда я подключил скрипт то перестает работать  Xpert Captions ,

что нужно поменять чтоб не было конфликта

вот код который я хочу подключить
Код
<script type="text/javascript">
$(document).ready(function(){

var first = 0;
var speed = 900;
var pause = 4500;

function removeFirst(){
first = $('ul#listticker li:first').html();
$('ul#listticker li:first')
.animate({opacity: 0}, speed)
.fadeOut('slow', function() {$(this).remove();});
addLast(first);
}

function addLast(first){
last = '<li style="display:none">'+first+'</li>';
$('ul#listticker').append(last)
$('ul#listticker li:last')
.animate({opacity: 1}, speed)
.fadeIn('slow')
}

interval = setInterval(removeFirst, pause);
});
</script>

код  Xpert Captions

Код
(function($){

    if(!$.omr){
        $.omr = new Object();
    };
   
    $.XpertCaptions = function(el, options){
   
        var base = this;
       
        // Access to jQuery and DOM versions of element
        base.$el = $(el);
        base.el = el;
       
        // Add a reverse reference to the DOM object
        base.$el.data("XpertCaptions", base);
       
        base.init = function(){
            base.options = $.extend({},$.XpertCaptions.defaultOptions, options);
           
            base.load_box();
        };
       
        // Preload Images
        base.load_box = function(){
        // Hide until window loaded, then fade in
if (base.options.preload){
$(base.options.backdrop, base.el).hide();
$(base.options.overlay, base.el).hide();

$(window).load(function(){
// IE transparency fade fix
if(base.options.options.animation == 'fade' && $(base.options.overlay, base.el).css('opacity') == 0 ) $(base.options.overlay, base.el).css('filter', 'alpha(opacity=0)');

$(base.options.overlay, base.el).fadeIn(200, function(){
$(base.options.backdrop, base.el).fadeIn(200);
});

base.allow_hover();
});
}else{
$(base.options.backdrop, base.el).show();
$(base.options.overlay , base.el).show();
base.allow_hover();
}
        };
       
        // Initialize hover animations
        base.allow_hover = function(){
        // Select animation
switch(base.options.animation){

// Handle fade animations
case 'fade':
$(base.el).hover(function () {
        $(base.options.overlay, base.el).stop().fadeTo(base.options.speed, base.options.opacity);
        },function () {
        $(base.options.overlay, base.el).stop().fadeTo(base.options.speed, 0);
      });
     
    break;
   
    // Handle slide animations
      case 'slide':
      // Grab default overlay x,y position
startX = $(base.options.overlay, base.el).css(base.options.anchor_x)!= 'auto' ? $(base.options.overlay, base.el).css(base.options.anchor_x) : '0px';
startY = $(base.options.overlay, base.el).css(base.options.anchor_y)!= 'auto' ? $(base.options.overlay, base.el).css(base.options.anchor_y) : '0px';;
     
      var hoverState = {};
      hoverState[base.options.anchor_x] = base.options.hover_x;
      hoverState[base.options.anchor_y] = base.options.hover_y;
     
      var endState = {};
      endState[base.options.anchor_x] = startX;
      endState[base.options.anchor_y] = startY;
     
$(base.el).hover(function () {
        $(base.options.overlay, base.el).stop().animate(hoverState, base.options.speed);
        },function () {
        $(base.options.overlay, base.el).stop().animate(endState, base.options.speed);
      });
     
      break;
};
        };
       
        // Make it go!
        base.init();
    };
   
    $.XpertCaptions.defaultOptions = {
        animation : 'fade',
        speed : 150,
        opacity : 1,
        preload : 0,
        anchor_x : 'left',
        anchor_y : 'bottom',
        hover_x : '0px',
        hover_y : '0px',
        overlay  : '.xc-overlay',
backdrop : '.xc-backdrop'
    };
   
    $.fn.xpertcaptions = function(options){
        return this.each(function(){
            (new $.XpertCaptions(this, options));
        });
    };
   
})(jQuery);
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: Как устранить конфликт JS?
« Ответ #1 : 01.02.2013, 13:07:21 »
В firebuge или в Chrome в консоли посмотри какие ошибки выдает скрипт.
*

Immortal_pony

  • Захожу иногда
  • 128
  • 7 / 2
Re: Как устранить конфликт JS?
« Ответ #2 : 01.02.2013, 22:11:18 »
http://jquery.page2page.ru/index.php5/Предупреждение_конфликтов
*

cheroky

  • Осваиваюсь на форуме
  • 38
  • 0 / 2
Re: Как устранить конфликт JS?
« Ответ #3 : 02.02.2013, 00:48:09 »
В firebuge или в Chrome в консоли посмотри какие ошибки выдает скрипт.

Код
8 tds.js:36
Uncaught TypeError: Object [object Object] has no method 'xpertcaptions' euro-line.info:61
Unsafe JavaScript attempt to access frame with URL http://googleads.g.doubleclick.net/pagead/html/r20130130/r20121214/zrt_lookup.html from frame with URL http://euro-line.info/#tabs-1. Domains, protocols and ports must match.
 contentscript_siteoverlay_bin.js:87
Unsafe JavaScript attempt to access frame with URL http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-764019362685470…&bih=775&oid=3&fu=0&ifi=1&dtd=317&xpc=OITgea1dGD&p=http%3A//euro-line.info from frame with URL http://euro-line.info/#tabs-1. Domains, protocols and ports must match.
 contentscript_siteoverlay_bin.js:87
2
Unsafe JavaScript attempt to access frame with URL http://nic.sourdi.com/s/883/441976.html?b=441976&x=1&y=1&s=4&c=djMub2MczgFR…17xlqIwXVVNkTxtugUHcMu9jUE&sh=api2.modelatos.com&ref=&h=luisardo.com&66618 from frame with URL http://euro-line.info/#tabs-1. Domains, protocols and ports must match.
 contentscript_siteoverlay_bin.js:87

вот ошибки, и как их решить:(
*

Immortal_pony

  • Захожу иногда
  • 128
  • 7 / 2
Re: Как устранить конфликт JS?
« Ответ #4 : 02.02.2013, 01:24:53 »
Библиотека jquery конфликтует с библиотекой mootools. Решение по ссылке выше.
*

cheroky

  • Осваиваюсь на форуме
  • 38
  • 0 / 2
Re: Как устранить конфликт JS?
« Ответ #5 : 02.02.2013, 01:35:15 »
Библиотека jquery конфликтует с библиотекой mootools. Решение по ссылке выше.

спс за ссылку буду пробовать свои извилины напрягать и разбираться в той статье:)
*

cheroky

  • Осваиваюсь на форуме
  • 38
  • 0 / 2
Re: Как устранить конфликт JS?
« Ответ #6 : 02.02.2013, 02:07:55 »
Библиотека jquery конфликтует с библиотекой mootools. Решение по ссылке выше.

Мужик спс помог, сделал по той статье и все решилось:)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Конфликт MooTools и Yandex.share. jQuery.noConflict() не помогает

Автор grover268

Ответов: 0
Просмотров: 1443
Последний ответ 07.04.2016, 10:38:37
от grover268
Конфликт Jquery и Mootools

Автор Bangoo

Ответов: 6
Просмотров: 13399
Последний ответ 04.04.2013, 13:14:51
от mark1