Скрытие блоков



Отныне любой пользователь сможет скрыть ненужные ему блоки на сайте!
Для установки скрипта нам придется пожертвовать функцией "Подпись".

Установка:
1. Пользователи » Персональная страница пользователя, заменяем:
Это:

Code
<?if($_SIGNATURE$)?>  
  <div id="block21" class="udtb"><div class="udtlb">Подпись:</div> $_SIGNATURE$</div>  
  <?endif?>


На это:

Code
<?if($_SIGNATURE$)?>  
  <div id="block21" class="udtb"><div class="udtlb">Скрытые блоки:</div>  
  <div id="blocks">$_SIGNATURE$</div>  
  </div>  
  <script>  
  var blocks=["Мини-чат","Друзья","Статистика"];  
  var name=$("#blocks").html().replace(/block/g,"").replace(/ <br> /g,"").split('\n');  
  if(name) for(i=1;i<=name.length+1;i++) $("#blocks").html($("#blocks").html().replace("block"+i,blocks[i-1]).replace(/ <br> /g,", "));  
  </script><?endif?>


Где var blocks=["Мини-чат","Друзья","Статистика"], список Ваших блоков.
Если у блока "Мини-чат" id="block1" то в персональной странице он отобразится как "Мини-чат" а не "block1" и т.д.

2. "Первый контейнер" и/или "Второй контейнер":
Каждому блоку присвоить ID вида id="block№", нумерацию блоков начинать с 1.

3. Пользователи » Форма редактирования персональной информации, заменяем:
Это:

Code
<?if($SIGNATURE_FL$)?>  
  <tr id="siM33"><td class="manTd1" id="siM34">$SIGNATURE_SIGN$</td><td class="manTd2" id="siM35">$SIGNATURE_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>  
  <?endif?>


На это:

Code
<?if($SIGNATURE_FL$)?>  
  <tr id="siM33"><td class="manTd1" id="siM34">Скрытые блоки:</td><td class="manTd2" id="siM35">  
  <div style="display:none">$SIGNATURE_FL$</div>  
  <input type="checkbox" id="block1" value="block1" onclick="checkhide();"><label for="block1">Мини-чат</label>
  
  <input type="checkbox" id="block2" value="block2" onclick="checkhide();"><label for="block2">Друзья</label>
  
  <input type="checkbox" id="block3" value="block3" onclick="checkhide();"><label for="block3">Статистика</label>  
  <script>  
  function checkhide() {  
  document.getElementById("siF9").value="";  
  if($("#block1").is(":checked"))document.getElementById("siF9").value+=$("#block1").val()+'\n';  
  if($("#block2").is(":checked"))document.getElementById("siF9").value+=$("#block2").val()+'\n';  
  if($("#block3").is(":checked"))document.getElementById("siF9").value+=$("#block3").val()+'\n';  
  }  
  var hidden=$("#siF9").val().split('\n');  
  if(hidden) {  
  for(i=0;i<hidden.length;i++)  
  $("#"+hidden[i]).attr("checked","checked");  
  };  
  </script>  
  </td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>  
  <?endif?>


Количество выбираемых блоков можно изменить добавив или убрав

Code
<input type="checkbox" id="block№" value="block№" onclick="checkhide();"><label for="block1">НАЗВАНИЕ</label>  
  if($("#block№").is(":checked"))document.getElementById("siF9").value+=$("#block№").val()+'\n';


Где:
НАЗВАНИЕ = Отображаемое название
block№ = № блока (слово block не убираем!)

4. Верхняя часть сайта, в конце вставляем:

Code
<?if($USER_LOGGED_IN$)?>  
  <script>  
  $.get('/index/8',function(data){var hidden=$("#blocks",data).html();if(hidden){hidden=hidden.split(' <br> ');for(i=0;i<hidden.length;i++)$("#"+hidden[i]).hide();}});  
  </script>  
  <?endif?>


На этом установка скрипта завершена! Теперь любой пользователь сможет скрыть ненужный ему блок!

  • FalleN

  • 599

  • 1

  • 0
Теги:

Ссылки на статью:

Похожие статьи: