Разработка сайтов на UMI.CMS
Знать UMI.CMS в совершенстве невозможно.
Даже сами разработчики знают о ней не все...

UMi

Ursa Minor

Использование Mootools совместно с EIP

UPD 04/08/2011.

С версии 2.8 в UMI.CMS появился вполне приличный (ключевое слово не "появился", а - "приличный") EIP: Еdit-in-place (редактирование на месте) — это возможность редактировать свойства объектов и страниц прямо на сайте (без входа в административный интерфейс). Это, конечно, не полноценная замена административному интерфейсу, но, если нужно всего лишь поправить пропущенную запятую и сделать выделение болдом, возможность сделать это тут же на странице весьма удобна.

К сожалению, все скрипты UMI.CMS написаны на jquery, в результате мы имеем конфликт фреймворков.

Решений есть два.

1) Начиная с версии 1.2 Mootools позволяет использовать не только знак доллара $, но и метод document.id:

//Подключаем JQuery
//Подключаем Mootools

$('some_id').css('color','red'); // код jQuery
document.id('some_id').setStyle('background-color','gray'); // код MooTools

(function($) { // код MooTools с $
     $('content').setStyle('background-color','yellow');
     //здесь можно писать любой код на Mootools с использованием $
})(document.id);

Здесь в глобальной области используем document.id, а код, активно использующий $, оборачиваем в замыкание.

 

2) Переключить библиотеку JQuery в режим совместимости.

Увы, сделать это можно лишь изменив системный класс.

Придется найти в классе system метод includeQuickEditJs и сразу за  подключением библиотеки вызвать метод noConflict(). Должно получиться так:

<script type="text/javascript" src="/js/jquery/jquery.js?1287572090&" charset="utf-8"></script>
<script type="text/javascript">jQuery.noConflict();</script>

Изменения надо внести в двух местах - для администраторов и для иных посетителей. Впрочем, лично я из гостевой части все упоминания о jquery удаляю, ибо нам она ни к чему.

Далее нужно в файле compiled.js переименовать все $ в jQuery. Внимание, в двух местах $ используется в regexp, и там его нужно оставить.

К сожалению, как показала практика, по разным папкам разбросаны десятки фрагментов яваскриптов, необходимых для работы EIP, и почти везде там используется оператор $(( Переименовывать все - нереально.

Остается надеятся, что в будущих версиях разработчики улучшат совместимость

Новости

30.10.2016

Обновлено описание макроса для вывода всех элементов справочника UMI.CMS с учетом версии 14.

 

21.07.2015

Памятка по обновлению до debian 8.1. Приятно вкусить все плюшки PHP 5.6

11.11.2014

Как выполнить SQL-запрос из bash-скрипта. Памятка

11.11.2014

Как отследить нагрузку сайта на сервер.

06.11.2014

Заготовка для галереи изображений с прокруткой. Не знаю, когда дойдут руки довести ее до вида плагина, поэтому открываю как есть. Можно доработать.

05.11.2014

Выкладываю как заготовку свой слайдер изображений на mootools

Все обновления