Главная » 2011 » Май » 31 » Блоки как вконтакте v1.0
05:46
Блоки как вконтакте v1.0


Пример: http://megafile.mksat.net/

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

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

Создаём файл: /templates/ваш_шаблон/js/block.js
с содержимым:
function setCookie(name, value, expiredays, path, domain, secure) {
    if (expiredays) {
        var exdate=new Date();
        exdate.setDate(exdate.getDate()+expiredays);
        var expires = exdate.toGMTString();
    }
    document.cookie = name + "=" + escape(value) +
    ((expiredays) ? "; expires=" + expires : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}
function getCookie(name) {
    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;
    if (cookie.length > 0) {
        offset = cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = cookie.indexOf(";", offset)
            if (end == -1) {
                end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return setStr;
}
function block_now(id) {
    if(getCookie(id) == 1) {
        display = 'none';
        setCookie(id, 0, 90, "/");
    } else {
        display = '';
        setCookie(id, 1, 90, "/");
    }
    document.getElementById(id).style.display = display;
}
function block_start(id) {
    var cookie_stat = getCookie(id);
    if((cookie_stat == 1) || (!cookie_stat)){
        display = '';
    } else {
        display = 'none';
    }
    document.getElementById(id).style.display = display;
}

Файл: main.tpl
Найти:


Добавить выше:
<script type="text/javascript" src="/templates/Simple/js/block.js">
<script type="text/javascript">
function block_search(){
    block_start("blok_1");
    block_start("blok_2");
//    block_start("blok_3");
//    block_start("blok_4");
// добавляет столько вызовов функций, сколько у вас будет блоков
}


найти:


заменить на:


а теперь собственно правим свои блоки по типу:


    


    

Заголовок блока
Содержимое блока
Категория: Хаки | Просмотров: 409 | Добавил: ALL-DLE | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: