Студия разработки сайтов и приложений

Netspark.ru

Спрячем блок входа на сайт

Некоторое время назад меня окончательно задрал блок авторизации (он же Log in, он же «Вход в систему»). Тем, что занимает много места, а нужен далеко не всем. Однако убрать его совсем — не вариант, так как некоторым (не только мне) он все же нужен. Решено было, в общем, блок сократить.

На этот раз хотелось найти какое-нибудь простенькое и стандартное решение — чтобы не делать ничего руками. С этой целью перепробовал набор модулей, умеющих показывать блок в jQuery-диалоге при нажатии на соответствующую ссылку. А именно — Dialog, Lightbox2 и Popups. Из коробки все глючили со страшной силой (ну или конфликтовали с уже существующими JS), так что пришлось от них отказаться. Строить диалог на Modal Frame API тоже не хотелось, так как это уже не простенько.

В результате в очередной раз оказалось, что проще всего — сделать руками. В общем, пришел к решению, похожему на известный аккордеон — сделал блок входа на сайт схлопывающимся. Делается буквально за 10 минут. Берется .info-файл используемой темы, в него вставляется строчка:

scripts[] = hide_user_block.js

Затем в директории темы создается JS-файл hide_user_block.js, содержащий всего 9 значащих строчек:

$(document).ready(function () {
  //скрыть содержимое блока
  $("#block-user-0").find("div.content").hide();
  //скрывать и показывать содержимое при клике на заголовок
  $("#block-user-0»)
    .find(«h2.title»)
    .css(«cursor», «pointer»)
    .click( function() {
      $(this).parent().find(«div.content»).slideToggle(«fast»);
  });
});

Очищаем реестр тем — и все.

Комментарии