Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Strategius

Скрыть голосование

Recommended Posts

Добрый день. Подскажите, пожалуйста, есть ли хук, позволяющий скрыть голосование в теме. Например, чтобы при нажатии на крестик углу голосование скрывалось (сворачивалось), и чтобы его можно было снова открыть потом и желательно запоминалось в куках браузера. Есть ли такой хук?

Share this post


Link to post
Share on other sites

Я не встречал.

Share this post


Link to post
Share on other sites

По сути, нужно просто классы в скрипте поменять на принадлежащие опросу?

Share this post


Link to post
Share on other sites

У опроса нет .category_block и нет структуры присущи блокам категории. По сути нужно либо переписать скрипт, либо сверстать блок опроса так, чтобы оперирую классами можно было адаптировать его под голосования.

  • Upvote 1

Share this post


Link to post
Share on other sites

А что проще, скрипт переписать или переделывать шаблон?.. И нету ли более простого способа для добавления функции скрытия опроса?

Share this post


Link to post
Share on other sites
И нету ли более простого способа для добавления функции скрытия опроса?

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

 

А что проще, скрипт переписать или переделывать шаблон?

Правильнее переписать скрипт. Насчет что проще не знаю.

Share this post


Link to post
Share on other sites

А если у Вас будет время, не могли бы помочь составить этот скрипт, пожалуйста?

Share this post


Link to post
Share on other sites

Заменил класс category_block в скрипте на нужный - poll_question, и функцию тоже:

 

<script type="text/javascript">
   var isEnabled = !Prototype.Browser.IE6;
   var toggleCookieName = 'voteToggle';
   var toggleRun = false;

   if (isEnabled) {
       document.observe("dom:loaded", toggleInitialize);
   }

   function toggleVote(obj) {
       if (!isEnabled || toggleRun) {
           return false;
       }

       var wrapper = obj.up('.poll_question').down('.table_wrap');
       var catblock = obj.up('.poll_question');

       Effect.toggle( wrapper, 'blind', {
           duration: 0.3,
           beforeStart: function() {
               toggleRun = true;
           },
           afterFinish: function() {
               toggleRun = false;
               if ( catblock.hasClassName('collapsed') ) {
                   catblock.removeClassName('collapsed');
                   toggleSetOpenBlocks(obj.id, false);
               } else {
                   catblock.addClassName('collapsed');
                   toggleSetOpenBlocks(obj.id, true);
               }
           }
       } );
   }

   function toggleGetOpenBlocks() {
       var cookies = ipb.Cookie.get(toggleCookieName);
       if (cookies) {
           return cookies.split(',');
       }

       return [];
   }

   function toggleSetOpenBlocks(id, isClose) {
       var openBlocks = toggleGetOpenBlocks();
       if (isClose) {
           openBlocks.push(id);
       } else {
           openBlocks = openBlocks.uniq().without(id);
       }

       ipb.Cookie.set(toggleCookieName, openBlocks.join(','), 1);
   }

   function toggleInitialize() {
       $$('.poll_question').each(function(block) {
           var id = block.down('.toggle').id;
       } );

       toggleGetOpenBlocks().each( function(id) {
           if ( $(id) ) {
               var block = $(id).up('.poll_question');
           }
           if (block) {
               block.addClassName('collapsed');
               block.down('.table_wrap').hide();
           }
       } );
   }
</script>

<a href='#' onclick="toggleVote(this);">Скрыть опрос</a>

 

Не пашет.. :( Не подскажете, что еще поправить нужно?

Share this post


Link to post
Share on other sites

Смысл менять классы если у них разная структура? Как будет скрывать блок obj.up('.poll_question').down('.table_wrap'); если .table_wrap это класс блока категорий? Откройте инспектор браузера и изучите структуру и того и другого. Методом научного тыка здесь не получится сделать.

  • Upvote 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...