---
title: 'Спрячем блок входа на сайт'
url: 'https://graker.ru/news/2010/12/19/spryachem_blok_vkhoda_na_sait'
language: ru
type: post
author: 'Роман Грачев'
published: '2010-12-19T14:36:20+03:00'
updated: '2016-08-09T11:51:03+03:00'
categories:
  - Программирование
  - Друпальчики
---

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

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

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

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

```
scripts[] = hide_user_block.js
```

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

```javascript
$(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»);
  });
});
```

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