Пример: 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 Найти: </head> Добавить выше: <script type=\"text/javascript\" src=\"/templates/Simple/js/block.js\"></script> <script type=\"text/javascript\"> function block_search(){ block_start(\"blok_1\"); block_start(\"blok_2\"); // block_start(\"blok_3\"); // block_start(\"blok_4\"); // добавляет столько вызовов функций, как много у вас будет блоков } </script> найти: <body> заменить на: <body onLoad=\"block_search()\"> а теперь собственно правим свои блоки по типу: <table> <tr onClick=\"block_now(\'blok_1\')\" style=\"cursor:pointer;\"> <th>Заголовок блока</th> </tr> <tr id=\"blok_1\" style=\"\"> <td>Содержимое блока</td> </tr> </table>
|