Один из основных конфликтов в JavaScript возникает между MooTools (требуется для некоторых функций Joomla) и другими библиотеками JavaScript. Наиболее распространенной является переменная $ global, которая обычно используется как селектор DOM.
В MooTools он выбирается только по идентификатору, а в других библиотеках, таких как JQuery, используются селекторы CSS.
Так что если у вас есть расширение Joomla, которое загружает другую библиотеку JavaScript, такую как JQuery, вы столкнетесь с проблемами. Для JQuery есть конкретное решение.
http://docs.jquery.com/Using_jQuery_with_Other_Libraries
Однако для других библиотек вам необходимо погрузиться в JS или использовать расширение, которое предлагает те же функции, но использует MooTools.
Что касается CSS, единственный способ обойти это - отредактировать файлы CSS. Хорошие расширения должны использовать какое-то пространство имен для своего CSS. Например, префикс всех классов CSS с именем компонента. Или оберните весь HTML-код в элемент оболочки, названный в честь компонента, модуля и т. Д.
Если этого не существует, вам придется добавить его самостоятельно.
Вероятно, проще всего отредактировать расширения HTML и добавить:
<div id="extension-name">
<!-- extension HTML here -->
</div>
вокруг расширения.
Затем отредактируйте расширения CSS и добавьте
#extension-name
перед всеми селекторами CSS.
Например, если у вас есть:
.left-column {
float: left;
}
изменить его на:
#extension-name .left-column {
float: left;
}
Вы даже можете автоматизировать этот процесс с помощью поиска и замены регулярных выражений.