Перейти к контенту

[2.1.x]Раскрывающийся текст


Arhar

Рекомендуемые сообщения

Название: Раскрывающийся текст

Добавил: Arhar

Добавлен: 22 Дек 2007

Обновлен: 22 Дек 2007

Категория: IP.Board 2.1.x

 

Как на torrents.ru

 

Нажмите здесь, чтобы скачать файл

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 296
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

Мод: Раскрывающийся текст

А на 2.3.3 будет работать? Или не стоит пробовать?

 

Ещё такой вопрос. Содержимое текста из этого тега хранится на странице всегда или подтягивается только в момент раскрытия? (о трафике думаю и о поисковых ботах)

Ссылка на комментарий
Поделиться на других сайтах

"Содержимое текста" — всегда.
Ссылка на комментарий
Поделиться на других сайтах

мод представляет собой дополнительный ббкод

 

аякс подгрузка сделала бы этот мод слишком громоздким и, наверное, создала бы проблемы со внутренней вложенностью (хотя решаемо, хранить урезанный код в отдельной таблице)

 

теоретически я могу сделать такой мод (у меня достаточно знаний php и ipb)

даже теоритически сделать из него превосходный hide (ведь можно возвращать по аяксу не только сам текст, но и ошибку при условии закрытия доступа)

практически мне надо в четверг сдать 2 типовых расчета... а вот потом...

Ссылка на комментарий
Поделиться на других сайтах

Интересно, ВилдРейновский хайд поддерживает вложенность? Имхо тогда нужно аякс к нему прикручивать, в качестве надстройки.

 

P.S. С ошибкой это ты загнул, нафиг тратить тики и трафик для вывода ошибки, если её можно сразу вывести на страницу? :D

Ссылка на комментарий
Поделиться на других сайтах

это да...

единственное, почему не хочу делать скрытый текст - НЕНАВИЖУ скрытый текст

столько раз приходилось регить фейк аккаунт из-за какой-то долбанной проги

 

add

нафиг тратить тики и трафик для вывода ошибки, если её можно сразу вывести на страницу

чтоб юзер не набрал в адресной строке act=xmlout&do=... и не получил текст

 

ВилдРейновский хайд

хранит скрытый текст в таблице постов

ALTER TABLE `ibf_posts` ADD `private_data` text NULL

значит в нашем распоряжении всего одно поле, а если я хочу вложенность, то придется делать там сериалайзнутый массив

плюс это поле не всегда заполнено...а с отдельной таблицей все просто

ид, пост_ид, текст

 

или даже

ид, текст

Ссылка на комментарий
Поделиться на других сайтах

Не думал, что у него может быть только один хайд в сообщении, наврядли он такое допустил. А если допустил — то ЛОЛ.

 

Естесственно что на xmlout нужно вешать проверку, но тогда уж просто exit() и не париться. Не стоит подозревать меня в невнимательности к безопасности ;) А заставлять нажимать и ждать загрузки надписи "зарегистрируйтесь чтобы увидеть скрытый текст" — не правильно со многих точек зрения :D

Ссылка на комментарий
Поделиться на других сайтах

я так понимаю надо чтоб работал спойлер подгружать 80кб жабоскрипта? или я не так понял?

У меня прекрасно уместилось в простом бб-коде, только в css три строчки добавил.

и файлы не пришлось редактить, и на любой версии пойдёт..

Ссылка на комментарий
Поделиться на других сайтах

угу

если получится выкинуть оттуда лишнии функции, буду только рад

 

в яваскрипте я не очень разбираюсь, поэтому тупо взял с вышеуказанного источника

Ссылка на комментарий
Поделиться на других сайтах

Arhar,

ну я у себя сделал так:

простой ббкод добавил через управление бб-кодами.

Название: Читать дальше (Ну как хотите можно назвать :D )

Описание: Добавляет расширенный текст спрятанный под ссылкой. Открывается ниже.

Пример использования :

[more] Более подробно... [/more]

Тег: more (можно поменять ;))

Опции: нет (тоже можете применять если хотите заменять)

Поменять option и content местами?: нет (от значения выше зависит и от вашего выбора)

Замена бб-кода:

<div class="morebody">
<span><div class="morehead" onclick="obj=this.parentNode.childNodes[1].style; tmp=(obj.display!='block') ? 'block' : 'none'; obj.display=tmp;
var o=this.getElementsByTagName('img')[0];if(!o._src){o._src=o.src;o.src='style_images/minus.gif';}else{var x=o.src;o.src=o._src;o._src=x;};return false;
"> <img src="style_images/plus.gif" /> <b>Читать дальше...</b></div><div class="moretext" style="display: none;">
{content}
</div></span></div>

Добавлять в редактор: Да ( ну или как хотите)

Подсказки на своё усмотрение.

Читать дальше...

можно заменить на {option} и тогда получится как в твоём моде.. картинки взял твои и расположение их тоже самое. в css тоже ничего сложного, сдела сам, коряво но отображается (я в css не особо...)

css на основе твоего

.morebody	  {  background: #F5F5F5; margin: 8px auto; width: 97%; border: solid #C3CBD1; border-width: 1px 1px 1px 2px;clear: both;}
.morehead	  {  background: #E9E9E6; font-weight: 11px; cursor: pointer; display: block; width: 100%; height: 100%;  text-align: left; text-decoration: none;}
.moretext	  { font-weight: normal; background: #F5F5F5; }

эффект тотже, только без 80 кб жабы :)

Ссылка на комментарий
Поделиться на других сайтах

неее

так никакой вложенности не будет

[more]1[more]2[/more][/more] не сработает (по крайней мере в 2.1.х)

 

для того и делал мод, потому что ббкод не поддерживает глубокой вложенности

продолжение судьбы мода http://www.ibresource.ru/forums/blog/arhar...p?showentry=126

Ссылка на комментарий
Поделиться на других сайтах

Имхо от 80кб ещё никто не умирал.
Ссылка на комментарий
Поделиться на других сайтах

на 2.2 и 2.3 со вложенностью проблем нет, на 2.1 и переделать думаю не трудно...

 

а 80 кб для когото (для меня к примеру) не особо приятно из-за мелочи грузить...

Ссылка на комментарий
Поделиться на других сайтах

2 сжатых ips_text_editorа и то больше занимают, так что можно просто этот файлик сжать. Может вы и сможете меня переубедить, но зачем тогда кеширование в браузерах придумали? Даже эта страница в текстовой версии и то весит больше, а тут у нас один файл, который сразу упадёт в кеш...
Ссылка на комментарий
Поделиться на других сайтах

ну к примеру на моём жпрсе загрузка странички форума автора мода (где сначала шла демонстрация работы), чесно говоря оперу завесила наглухо, со второго раза нормально... понимаю что это мои проблемы, но опятьже, зачем грузить скрипт если он не используется к примеру... да и кеш имеет привычку очищаться...

 

з.ы. проще подправить ббкод_коре.пхп на манер 2.2-2.3 оказалось :D причём на работе бб-кодов в худшую сторону вроде не отразилось...

Ссылка на комментарий
Поделиться на других сайтах

а 80 кб для когото (для меня к примеру) не особо приятно из-за мелочи грузить...

У меня ужато до 30 Кб.

Плюс, отдается по гэзипу, трафика выходит меньше 10 Кб.

Плюс, в кешируемом файле - получил один раз и дальше листаешь страницы без перезагрузки этого кода.

 

 

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

http://vesvalo.net/journal.php?user=1&comm=2620 - 11 Кб трафика, если не грузить картинки. И всё работает, включая вложенность спойлеров.

Ссылка на комментарий
Поделиться на других сайтах

До этого юзал мод MORE от smash_TeAm™, но это явно круче! Спасибо :D

 

Но заметил такую, крайне не приятную, фигню:

После быстрого редакта поста данная фишка не работает.

Только у меня так?

Ссылка на комментарий
Поделиться на других сайтах

можно, там закомментирована функция плавного раскрытия в инитспойлерс, ее вместо простого тоггл

после быстрого редака не работает, ибо на возвернутые спойлеры инитспойлерс не срабатывает

 

чтобы после быстрого редактирования работало, надо в ipb_topic.js

найти в функции ajax_save_for_edit

document.getElementById( 'post-'+post_id ).innerHTML = html;

добавить после

initSpoilers('#post-'+post_id);

найти в функции ajax_cancel_for_edit

document.getElementById( 'post-'+post_id ).innerHTML = post_cache[ post_id ];

добавить после

initSpoilers('#post-'+post_id);

 

 

 

для аякс быстрого ответа Санниса в sns_ajax_fast_reply.js

найти 2 раза

topic_scroll_to_post(pid);

добавить после

initSpoilers('#post-'+pid);

Ссылка на комментарий
Поделиться на других сайтах

Архар, проже добавить в конец RenderRow:

<script type="text/javascript">
//<![CDATA[
  initSpoilers('#post-{$post['pid']}');
//]]>
</script>

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.