Strategius 52 11/15/16 09:57 Добрый день. Подскажите, пожалуйста, есть ли хук, позволяющий скрыть голосование в теме. Например, чтобы при нажатии на крестик углу голосование скрывалось (сворачивалось), и чтобы его можно было снова открыть потом и желательно запоминалось в куках браузера. Есть ли такой хук? Поделиться сообщением Ссылка на сообщение
Strategius 52 11/15/16 10:29 А не подскажете, возможно ли адаптировать вот эту модификацию для сворачивания голосования? http://ipbskins.ru/forum/topic12676.html Поделиться сообщением Ссылка на сообщение
Strategius 52 11/23/16 15:09 По сути, нужно просто классы в скрипте поменять на принадлежащие опросу? Поделиться сообщением Ссылка на сообщение
siv1987 2628 11/23/16 15:30 У опроса нет .category_block и нет структуры присущи блокам категории. По сути нужно либо переписать скрипт, либо сверстать блок опроса так, чтобы оперирую классами можно было адаптировать его под голосования. 1 Поделиться сообщением Ссылка на сообщение
Strategius 52 11/23/16 15:41 А что проще, скрипт переписать или переделывать шаблон?.. И нету ли более простого способа для добавления функции скрытия опроса? Поделиться сообщением Ссылка на сообщение
siv1987 2628 11/23/16 15:50 И нету ли более простого способа для добавления функции скрытия опроса?К сожалению я другого способа не знаю. По крайней мере с запоминанием настроек пользователя. Как вариант, можно по умолчанию сделать блок скрытым. А что проще, скрипт переписать или переделывать шаблон?Правильнее переписать скрипт. Насчет что проще не знаю. Поделиться сообщением Ссылка на сообщение
Strategius 52 11/23/16 16:21 А если у Вас будет время, не могли бы помочь составить этот скрипт, пожалуйста? Поделиться сообщением Ссылка на сообщение
Strategius 52 11/23/16 19:10 Заменил класс 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> Не пашет.. :( Не подскажете, что еще поправить нужно? Поделиться сообщением Ссылка на сообщение
siv1987 2628 11/23/16 19:33 Смысл менять классы если у них разная структура? Как будет скрывать блок obj.up('.poll_question').down('.table_wrap'); если .table_wrap это класс блока категорий? Откройте инспектор браузера и изучите структуру и того и другого. Методом научного тыка здесь не получится сделать. 1 Поделиться сообщением Ссылка на сообщение
Strategius 52 12/01/16 01:02 Не получается переделать скрипт, похоже совсем другой там принцип работы со структорой... :( Поделиться сообщением Ссылка на сообщение