Некоторое время назад меня окончательно задрал блок авторизации (он же 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»);
});
});
Очищаем реестр тем — и все.