Автор Тема: Глюк с модулями в платном шаблоне  (Прочитано 1657 раз)

01 Ноябрь 2013, 08:31:40
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем доброго времени суток.
Проблема следующая, купил шаблон
При установке на чистую престу 1.5.6 у меня получается следующее
Не отображается модуль с круглыми картинками customcontent
Устанавливал по разному и через themeinstaller и вручную, разницы никакой.
Все модули установлены в соответсвии с таблицей приложеной к шаблону. 
Попробовав разобраться, я понял что модули слайдер картинок minicslider и модуль отвечающий за круглые картинки  customcontent не могут отображаться одновременно. Т.е отображаются только по отдельности, если поочереди отключать один либо другой. А вместе они как будто конфоликтуют и отображается только слайдер. Повторюсь что расположение модулей сделал все как предписано в шаблоне.
Кэш чистил, картинки регенерировал, ничего не помогает. По отдельности отображаются, а вместе когда включены, показывает только слайдер.
Дак вот у меня вопрос, из за чего это может быть? Какие у вас могут быть предположения? Я грешу на сам модуль customc который не отображается. Мне кажется его надо допиливать как то.
Если нужно могу выложить сами модули.
01 Ноябрь 2013, 10:53:22
Ответ #1
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Цитировать
Попробовав разобраться, я понял что модули слайдер картинок minicslider и модуль отвечающий за круглые картинки  customcontent не могут отображаться одновременно. Т.е отображаются только по отдельности, если поочереди отключать один либо другой.
Возможно у вас конфликт в использовании JQuery и дополнительных плагинов, это вызвано конфликтом JQuery и того что вы подключаете, плюс подключается системой. Многие библиотеки JavaScript используют переменную $ в качестве функции или глобальной переменной, в том числе и jQuery. В jQuery функция $ является псевдонимом функции jQuery, поэтому весь функционал библиотеки доступен и без использования $.
Если необходимо использовать другую JavaScript-библиотеку и jQuery,  то это  можно сделать с помощью метода noConflict():
Так как, отключение идентификатора $ приводит к неправильной работе плагинов jQuery, то нужно обернуть ваши функции
jQuery.noConflict();
(function($){
    // здесь ваш код для 1 варианта с jQuery
})(jQuery);
// здесь c другими библиотеками
или так:
jQuery.noConflict();
jQuery(document).ready(function($) {
  // здесь ваш код для 1 варианта с jQuery
});
// здесь c другими библиотеками
01 Ноябрь 2013, 11:40:09
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
jQuery.noConflict();
(function($){
    // здесь ваш код для 1 варианта с jQuery
})(jQuery);
// здесь c другими библиотеками
или так:
jQuery.noConflict();
jQuery(document).ready(function($) {
  // здесь ваш код для 1 варианта с jQuery
});
// здесь c другими библиотеками


Пожалуйста.
Можно несколько подробнее.
Как можно добавить код  на jQuery, чтобы он не конфликтовал с
установленным не вдаваясь в подробности уже имеющегося кода?
Не боги горшки обжигают, не зачем им такой хренью заниматься.
01 Ноябрь 2013, 13:14:06
Ответ #3
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Виктор Демидов Спасибо большое за Ваш ответ, но я присоединяюсь к Vasiy, скажите пожалуйста в
каком файле нужно править этот код.
01 Ноябрь 2013, 13:19:25
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Куда еще подробнее???
Берете все функции и оборачиваете в обвертку
jQuery.noConflict();
(function($){
    // ваш код
})(jQuery);
Или нужно за вас все это сделать?
Делайте, показвайте, что получилось, потом можно что-то советывать.
01 Ноябрь 2013, 15:33:10
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Куда еще подробнее???
Берете все функции и оборачиваете в обвертку
jQuery.noConflict();
(function($){
    // ваш код
})(jQuery);
Или нужно за вас все это сделать?
Делайте, показвайте, что получилось, потом можно что-то советывать.

Да нет спасибо я сам сделаю.
Просто не понятно что надо вставить вместо    // ваш код  - (имеется ввиду JS скрипт который я хочу прикрутить?)
Не боги горшки обжигают, не зачем им такой хренью заниматься.
01 Ноябрь 2013, 20:09:53
Ответ #6
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Виктор Демидов
Виктор Ваша версия отпадает, потому что выяснилось что в модуле costumcontent нет скриптов, и конфликтовать он не может.
Тогда я не знаю что может быть. Сейчас еще поробовал попереставлять местами позиции модулей, вобщем если поменять эти два модулям местами в displayTop, то они оба появляются на странице. Но естественно customcontet выше слайдера оказывается. Когда меняю местами обратно, то costumcontent исчезает со страницы вообще. Где логика непонятно. Что же все таки можно подправить не подскажите?
01 Ноябрь 2013, 20:18:16
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Если конфликт не в js, тогда в стилях. Один блок перекрывает другой.
01 Ноябрь 2013, 20:25:02
Ответ #8
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Adik
Мне тоже такая мысль изначально пришла. Получается стили самого шаблона надо править я правильно понял?
01 Ноябрь 2013, 20:27:30
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Нужно править стили шаблона или модулей.
Поставьте Firebug и тогда можно в самом браузере менять стили, так быстро все отредактировать можно.
01 Ноябрь 2013, 20:29:12
Ответ #10
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо большое, сейчас буду пробовать
02 Ноябрь 2013, 08:11:13
Ответ #11
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нашел я причину с помощью Firebug. Параметр element.style стоит diplay:none
Из за этого модуль и не отображается (картинка в приложении)
Только я не могу найти где этот параметр поменять. В стилях модуля и темы не могу его найти.
Подскажите пожалуйста где можно поменять этот параметр ?
02 Ноябрь 2013, 11:46:06
Ответ #12
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
element.style - стиль задан в самом теге с помощью атрибута style или javascript задает свойства элемента.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
02 Ноябрь 2013, 13:25:14
Ответ #13
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
mAgency
Я так понимаю , что если element.style задан тэгом. То это можно подправить где то. Но я не могу найти где.
02 Ноябрь 2013, 13:29:00
Ответ #14
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
стиль задан в самом теге с помощью атрибута style
Изменить можно в шаблоне модуля.
Цитировать
или javascript задает свойства элемента.
Исправлять в плагине или файле js.