JQuery¶
В CS-Cart и Multi-Vendor используется фреймворк jQuery. Вся дополнительная функциональность, написанная нами, представляется в виде плагинов.
Общие правила использования¶
Для вызова всех методов jQuery используем сокращенную запись -
$
. Использование для вызовов переменной jQuery НЕ ДОПУСКАЕТСЯ:$.browser.msie; $('#test').ourMethod();
Создавая плагины, нужно придерживаться стиля кодирования, принятого для jQuery. Для функций же остаются правила оформления как в php:
$(window).myFunc(); myVar = 123;
JavaScript, встроенный в тело документа, оформляем в следующем виде:
<script type="text/javascript"> ... </script>
Примечание
Избегайте встраивания JavaScript в тело документа. Если вам нужно писать логику в шаблоне — значит с логикой что-то не то. Встраивание JavaScript можно использовать только для передачи данных из PHP в JavaScript.
Внешние скрипты должны подключаться через smarty-функцию
{script}
:{script src="js/core.js"}
Если нужно загрузить внешний скрипт через JavaScript, используйте ТОЛЬКО функцию
$.getScript
— она учитывает загруженные скрипты, правильно работает с пространствами имен (namespaces) и третьесторонними библиотеками.Третьесторонние JavaScript-библиотеки мы складываем в
/js/lib/
. Если нам нужно расширить функционал, пишем обертку по примеруceDialog
.Событие
ready
(вызываемое при загрузке документа) нужно писать в виде полной записи, с привязкой кdocument
.Правильно:
$(document).ready(function() { // do something });
или так:
$(function() { // do something });
Неправильно:
$(function()), $(window).ready()