• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Хак Сворачивающиеся блоки на сайте

Статус
В этой теме нельзя размещать новые ответы.

MSW

Мой дом здесь!
Регистрация
27 Авг 2007
Сообщения
491
Реакции
414
Версия ДЛЕ - любая!
Как нуль так и лицензия!
Автор: MSW
Назначение: Добавляет возможность пользователям сворачивать, или разворачивать, блоки на сайте, можно прикрутить под абсолютно любые блоки! от боковых до похожих новостей и всё такое! на что у вас хватит фантастики!)))
Каждый пользователь сам себе выбирает какие ему блоки сворачивать, какие оставлять развёрнутыми.
После очередной загрузки, перезагрузки страниц сайта блоки остаются в последнем выбранном пользователем варианте, то-есть запоминается их последнее состояние.

Технология: основан на яваскрипт, данные записываются в куки пользователю
Недостатки:
- блоки сворачиваются только после загрузки страницы(яваскрипт отрабатывается последним)
- содержимое блоков загружается в любом случае - свёрнут он или развёрнут.

Итак, сам код:


живой пример:


В дальнейшем развитии планирую решить проблему с полной загрузкой содержимого блоков а потом прятанием его с помощью пхп, и снова показ содержимого если блок был свёрнут - с помощью аякс....
вот только пока не знаю как точно такое реализовать, ещё не особо над этим думал))
 
Протестировал,всё отлично работает ,сделано на javascript ))
Если хотите вторую демку говорите ,скину
 
А что тут прям такого для dle, я думаю этот хак подойдет для любой системы, а скачать его можно по запросу в гугле :confused:
 
А что тут прям такого для dle, я думаю этот хак подойдет для любой системы, а скачать его можно по запросу в гугле :confused:
да ничего тут такого, можете скачать - качайте, разве я запрещаю или говорю что это единственная реализация?
вобше я это делал для себя, чтоб разобраться как яваскрипт работает с куками.
кому надо - тот возмёт, кто не захочит брать это готовое - скачает в гугле и для себя сам сделает и разберётся.

это первоначальная версия, дальше планирую развить данный хак как модуль, прикрутить пхп и аякс, для универсальности и снижения нагрузки на сервер.

если кто может что подсказать по данному направлению - подсказывайте, а не хвастайтесь что можете пользоваться поисковыми системами.
 
вот и осилил вроди как всё это дело :)

Теперь этот хак можно назвать: Хак - Блоки как вконтакте :)

Функционал: работает на аяксе, если меню было отключено пользователем - то при повторной загрузке/обновлении страницы содержимое блока загружено не будет!
что решило заявленные в первом посте недостатки :)

Теперь данный хак подходит только для ДЛЕ версии 8,2
так как содержимое менюшек нужно будет перенести в отдельные пхп файлы и просто инклудить в шаблон.


демка тамже:
 
Можно узнать а зачем block.js всетаки вставлять в каждый блок?
Не проще ли его в индекс вставить и не париться?
 
Ну не в индекс а в маин.тпл
можно как ява инклуд, а можно прямо кодом.
 
Вобщето всетаки в индекс ))
$ajax .= <<<HTML
//-->
</script>
....
<script type="text/javascript" src="/engine/ajax/menu.js"></script>
и туда дописывашь свои. Точнее можно и в main.tpl но тогда будет только для одного диза.
А так будет для всех
И у тебя когда приходит ответ для ajax не заменяеться {THEME}
<script type="text/javascript" src="{THEME}/js/block.js"></script>
+ Подгружая через ajax таким образом скрипт не выполняеться(вроде)
 
да, то наверно магнинтые бури были и чёто не работало если в мейн подключено было....
сейчас вот проверил - работает замечательно, потому можно подключить в мейн:

Файл: main.tpl
Найти:
HTML:
</head>

Добавить выше:
HTML:
<script type="text/javascript" src="{THEME}/js/block.js"></script>

вот собственно и всё, полноценный хак, можно сказать, только проблема с тегами в таком случае и с инклудами других файлов.

теги - при загрузке первой отрабатываются как положено, а вот после сворачивания и разворачивания - отображаются как тег.
инклуженые файлы в шаблон - так и отображаются текстом как инклуженый файл....
 
я бы использовал jquery возможности на много шире,да и кроме таких блоков можна много чего интересного реализовать.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху