- Оформительская тема: TemplateMonster #43373
- Место сбоя: открытие большинства витринных страниц магазина (например, страницы списка товаров).
- Диагностическое сообщение:
в консоли браузера:
- Firefox:
- «TypeError: jQuery(...).easyTooltip is not a function»
- «TypeError: jQuery(...).jcarousel is not a function»
- «TypeError: jQuery(...).easyTooltip is not a function»
- Chrome: «Uncaught TypeError: undefined is not a function»
- Internet Explorer:
- «SCRIPT438: Object doesn't support property or method 'easyTooltip'»
- «SCRIPT438: Object doesn't support property or method 'jcarousel'»
- «SCRIPT438: Object doesn't support property or method 'easyTooltip'»
- Firefox:
- Причина сбоя: дефект оформительской темы TemplateMonster #43373.
- Аналогичные сбои других оформительских тем: 4090, 4132, 4458.
Способ устранения сбоя:
- Правки для файла app/design/frontend/default/theme454/template/page/html/head.phtml:
- Удалите код:
<script type="text/javascript" src="<?php echo $this->getSkinUrl('js/jquery-1.7.min.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/jquery.jscrollpane.min.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/jquery.modal.1.4.1.min.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/jquery.mousewheel.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/mwheelIntent.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/scripts.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/jquery.prettyPhoto.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/jquery.color.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/jqtransform.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/easyTooltip.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getSkinUrl('js/jquery.jcarousel.min.js') ?>"></script>
- Найдите код
<?php echo $this->getCssJsHtml() ?>
Вырежьте его и перенесите вверх, разместив этот код перед расположенным выше кодом кодом<script type="text/javascript"> $(function(){ var titles = $$('.welcome-msg'); titles.each(function(n){ var line = n.innerHTML.split(' '); line[0] = '<span>' + line[0] + '</span>'; var result_string = ''; line.each(function(m){ result_string += m + ' '; }) n.innerHTML = unescape(result_string); }) }); </script>
- Удалите код:
- Добавьте в файле app/design/frontend/default/theme454/layout/page.xml внутри тега <block type="page/html_head" name="head" as="head"> за всеми другими правилами внутри этого тега, в самом конце (примерно строка 63) следующий код:
<action method='addItem'><type>skin_js</type><name>js/jquery.jscrollpane.min.js</name></action> <action method='addItem'><type>skin_js</type><name>js/jquery.modal.1.4.1.min.js</name></action> <action method='addItem'><type>skin_js</type><name>js/jquery.mousewheel.js</name></action> <action method='addItem'><type>skin_js</type><name>js/mwheelIntent.js</name></action> <action method='addItem'><type>skin_js</type><name>js/scripts.js</name></action> <action method='addItem'><type>skin_js</type><name>js/jquery.prettyPhoto.js</name></action> <action method='addItem'><type>skin_js</type><name>js/jquery.color.js</name></action> <action method='addItem'><type>skin_js</type><name>js/jqtransform.js</name></action> <action method='addItem'><type>skin_js</type><name>js/easyTooltip.js</name></action> <action method='addItem'><type>skin_js</type><name>js/jquery.jcarousel.min.js</name></action>
- Необязательно для устранения сбоя, но ускоряет отображение страниц магазина посетителям.
Включите стандартное для Российской сборки Magento объединение файлов CSS и JavaScript, указав «да» значением следующих опций:
- «Система» → «Настройки» → «НАСТРОЙКИ ПОВЫШЕННОЙ СЛОЖНОСТИ» → «Для разработчика» → «Настройки JavaScript» → «Объединить файлы JavaScript»
- «Система» → «Настройки» → «НАСТРОЙКИ ПОВЫШЕННОЙ СЛОЖНОСТИ» → «Для разработчика» → «Настройки CSS» → «Объединить файлы CSS»
- «Система» → «Настройки» → «НАСТРОЙКИ ПОВЫШЕННОЙ СЛОЖНОСТИ» → «Для разработчика» → «Настройки JavaScript» → «Объединить файлы JavaScript»