Доброго времени суток всем
Нашел очень удобный модуль для сравнения нод, я использую для сравнения товаров Ubercart - Node Compare, но есть один момент, который если можно было бы поправить, то вообще все было бы идеально для меня по крайней мере.
Суть проблемы в работе модуля следующая (а может и не модуля):
Есть товары, которые можно добавить к сравнению, добавляю все хорошо. Но если очистить список сравнения и после этого начинать перезагружать страницу, то блок появляется на некоторые время, т.е. пустой, только заголовок самого блока, и который потом исчезает.
Думал у меня это только так, но нет на странице с демо-версией - http://nb7demo.drupalka.ru/- если добавить к сравнению товары, а потом очистить блок сравнения и начать перезагружать страницу - это можно наблюдать так же.
Это было бы не критично для меня, но у меня левая панель на сайте появляется если в ней есть какой то контент, в данном случае блок с сравнением, и когда он пустой(блок сравнения), он появляется, смещает все вправо и исчезает, а это движение очень заметно.
Что я делал:
- Прописывал дополнительно css стили display:none к блоку
- Менял очередность загрузки css, чтобы css стиль применить в блоку сравнения и к классу появляющемуся у него, когда он пустой, в первую очередь
- Убирал заголовок совсем, но так как не красиво смотрится, и не понятно сразу получается
- Прописывал стили в head
Что я делаю может не так и как можно эту задачу решить?
Заранее спасибо за ответ
Ответы
блок скрывается с помощью js путем добавления класса empty. Как вариант, переопределить theme_compare_block_content в своей теме и добавлять класс empty к нужному элементу (см. js) если нет нод для сравнения, чтобы стиль применялся сразу при загрузке страницы
Дело в том, что я с программированием на "ВЫ", но немного знаком.
как я понял, это нужно прописать в свою тему куда то?:
как я понял, это нужно прописать в свою тему куда то?:
Если можно, подскажите, что именно и куда нужно вставить, чтобы все заработало как нужно
Поискав решение, вроде как понял, что можно переопределить - theme_compare_block_content в файле template.php, который находится в моей теме, верно ли это?
А jquery код нужно, отвечающий за добавление класса к пустому блоку сравнения, вставить в js файл в моей теме, верно ли это?
Я немного ошибся с выбором функции. в template.php вашей темы добавьте такую функцию
my_theme_name заменить на имя темы. код не тестировал, но надеюсь, что будет работать
Так получилось, что одновременно ответили и вы и автор модуля, ваш вариант рабочий, благодарю за помощь. Единственное автор модуля порекомендовал "не дергать сессии".
В общем вопрос решен, может кому пригодится, вот код без сессий(с сессиями выше):