Кодировка HTML | Демо-сайт CMS uCoz | Почта

Хайд по постам на форуме (тег hide) для uCoz [Обновлено]

Архив полностью рабочих скриптов и так далее...

Хайд по постам на форуме (тег hide) для uCoz [Обновлено]

Сообщение Draft » 22 ноя 2008, 20:05

ОБНОВЛЕНО

Скрипт для всех тех, кто давно мечтал сделать хайд по постам как в вбюллетень или IPB. ;)

Загружаем файл распаковываем архив в корень сайта.

Заходим в Настройка дизайна -> Форум > Общий вид страниц форума
После <body> ставим:
Код: Выделить всё
<?if(!$USER_LOGGED_IN$)?><script type="text/javascript">curposts='0';</script><?endif?><script type="text/javascript" src="/forum_hide.js"></script>


Далее идем в Настройка дизайна > Пользователи > Персональная страница пользователя
Ищем там $_FORUM_ENTRIES$
Заменяем на
Код: Выделить всё
<span id="uposts">$_FORUM_ENTRIES$</span>


Далее заходим в Настройка дизайна > Форум > Вид материалов
Ищем там $MESSAGE$
Заменяем на
Код: Выделить всё
 <div id="mpost$ID$">$MESSAGE$</div><?if(strpos($MESSAGE$,'[hide=') > -1)?><script>hide_load($ID$)</script><?endif?>


Все скрипт установлен :) .

Как это работает?
Идем в свой форум и добавляем сообщение например [hide=435800]Я скрытый текст[/hide]
Где синее количество постов необходимое для просмотра сообщения.
Добавлем сообщение и смотрим.
------------------
Изображение
------------------
Вместо сообщения видим надпись, что у вас недостаточно мессагов.
Наш блок нескрытого текста при этом никуда не делся, его видно.
Если у вас достаточно постов, сообщение отобразится нормально.
------------------
Изображение
------------------

Обновленно от 27.09.2009:
- Полностью переписан код
- Загрузка теперь в 100500 раз быстрее
- Гораздо меньший объем кода
- Возможность ставить несколько хайдов в одном сообщении сразу
- Убраны тяжелые iframe
- Некоторые другие доработки

Любителям копировать отсюда скрипты к себе на сайт говорю сразу копирайты на Softers.ru обязательны!
Вложения
forum_hide.rar
(734 байт) Скачиваний: 843
Последний раз редактировалось AllCity 31 янв 2011, 12:11, всего редактировалось 8 раз(а).
Причина: Полное обновление скрипта
Пишу скрипты для uCoz под заказ. Стучать в ICQ[/b]
Аватара пользователя
Draft
Модератор
Модератор
 
Автор темы
Сообщения: 722
Возраст: 31
Зарегистрирован: 21 апр 2008, 11:37
Карма: + 24 -
Откуда: Saint :P

Re: Хайд по постам на форуме

Сообщение RoMe0 » 22 ноя 2008, 22:34

запихнул к себе на форум, вроде как работает, но сообщения не показывает, тока пишет "Подождите идет загрузка сообщения" :|.
и
Код: Выделить всё
<iframe src="http://www.softers.ru/index/8-$CUR_USER_ID$" onload="hidehiden$ID$()" name="fra1" width="0" height="0" scrolling="no" frameborder="0" name="fra1"></iframe>

на свое вроде как менять надо
Аватара пользователя
RoMe0
Рядовой
Рядовой
 
Сообщения: 23
Возраст: 34
Зарегистрирован: 11 май 2008, 19:13
Карма: + 0 -
Откуда: Израиль, Ха...

Re: Хайд по постам на форуме

Сообщение Draft » 22 ноя 2008, 22:43

Ах да точно забыл, незабываем поменять http://www.softers.ru/index/8-$CUR_USER_ID$ на свой сайт
Код: Выделить всё
<iframe src="http://АДРЕС САЙТА/index/8-$CUR_USER_ID$" onload="hidehiden$ID$()" name="fra1" width="0" height="0" scrolling="no" frameborder="0" name="fra1"></iframe>


Upadate: для исправления проблемы с кроссбраузерностью (скрипт работал только в опере) найдите и замените
cuposts = window.fra1.uposts.innerHTML;
на
cuposts = fra1.document.all.uposts.innerHTML;

Проверял в Chrome, Opera, Firefox и IE работает отлично.
Пишу скрипты для uCoz под заказ. Стучать в ICQ[/b]
Аватара пользователя
Draft
Модератор
Модератор
 
Автор темы
Сообщения: 722
Возраст: 31
Зарегистрирован: 21 апр 2008, 11:37
Карма: + 24 -
Откуда: Saint :P

Re: Хайд по постам на форуме

Сообщение RoMe0 » 24 ноя 2008, 00:11

все ровно почему то у меня пишет только "Подождите идет загрузка сообщения" и все
Аватара пользователя
RoMe0
Рядовой
Рядовой
 
Сообщения: 23
Возраст: 34
Зарегистрирован: 11 май 2008, 19:13
Карма: + 0 -
Откуда: Израиль, Ха...

Re: Хайд по постам на форуме

Сообщение XxMARSxX » 24 ноя 2008, 00:50

сюда бы jQuery...
Ахтунг!

Делаю всякую херню для ЮкОз за доллары или не делаю если просьба пахнет бредом перегретого мозга.

А у меня Windows 7 :P

Изображение
Что такое НЕТЕЛИБ?
Аватара пользователя
XxMARSxX
Супермодератор
Супермодератор
 
Сообщения: 1991
Возраст: 36
Зарегистрирован: 20 апр 2008, 18:02
Карма: + 22 -
Откуда: Украина, Полтавская область, Кременчуг, Автозаводской район, Нагорная часть

Re: Хайд по постам на форуме

Сообщение Draft » 24 ноя 2008, 18:08

XxMARSxX писал(а):сюда бы jQuery...

Попробую сделать на jQuery просто я в нем полный 0. :oops:
Пишу скрипты для uCoz под заказ. Стучать в ICQ[/b]
Аватара пользователя
Draft
Модератор
Модератор
 
Автор темы
Сообщения: 722
Возраст: 31
Зарегистрирован: 21 апр 2008, 11:37
Карма: + 24 -
Откуда: Saint :P

Re: Хайд по постам на форуме

Сообщение mob_dp » 25 ноя 2008, 18:53

Скрипт шикарный, респект автору! Давно мечтал себе такой, у меня сайт как раз такой что скрипт абсолютно необходим.

А там гед ссылку на свою менять, в гайде укажите относительную а не постоянную: /index/8
Изображение
Изображение
Аватара пользователя
mob_dp
Салага
Салага
 
Сообщения: 13
Возраст: 33
Зарегистрирован: 05 авг 2008, 18:47
Карма: + 0 -

Re: Хайд по постам на форуме

Сообщение mob_dp » 25 ноя 2008, 18:56

И еще по теме:

глупо чтоб на странице было 20-30 скриптов для этой единой функции.
Нужно убрать в скрипте $ID$ и передавать его через параметр функции. В посте делаем только запуск функции, передавая этот $ID$
Изображение
Изображение
Аватара пользователя
mob_dp
Салага
Салага
 
Сообщения: 13
Возраст: 33
Зарегистрирован: 05 авг 2008, 18:47
Карма: + 0 -

Re: Хайд по постам на форуме

Сообщение Draft » 25 ноя 2008, 20:56

mob_dp писал(а):А там гед ссылку на свою менять, в гайде укажите относительную а не постоянную: /index/8

Allcity и кто-нить из модеров, плс поменяйте в первом посте http://www.softers.ru/index/8-$CUR_USER_ID$ на /index/8-$CUR_USER_ID$
И cuposts = window.fra1.uposts.innerHTML; на cuposts = fra1.document.all.uposts.innerHTML;

mob_dp писал(а):Нужно убрать в скрипте $ID$ и передавать его через параметр функции. В посте делаем только запуск функции, передавая этот $ID$

Да постараюсь сделать так в следующем обновлении. :)
Пишу скрипты для uCoz под заказ. Стучать в ICQ[/b]
Аватара пользователя
Draft
Модератор
Модератор
 
Автор темы
Сообщения: 722
Возраст: 31
Зарегистрирован: 21 апр 2008, 11:37
Карма: + 24 -
Откуда: Saint :P

Re: Хайд по постам на форуме

Сообщение Андрей » 26 ноя 2008, 08:07

Вот ещё один хайд, если у кого этот не работает ;)
В Персональную Страницу Пользователя:
Код: Выделить всё
<div id="UserActivities" style="display: none; "><?if($_LOAD_ENTRIES$)?>$_LOAD_ENTRIES$<?else?>0<?endif?>+<?if($_COM_ENTRIES$)?>$_COM_ENTRIES$<?else?> 0<?endif?>+<?if($_FORUM_ENTRIES$)?>$_FORUM_ENTRIES$<?else?>0<?endif?>+<?if($_NEWS_ENTRIES$)?> $_NEWS_ENTRIES$<?else?>0<?endif?>+<?if($_PUBL_ENTRIES$)?>$_PUBL_ENTRIES$<?else?>0<?endif?>+<?if($_DIR_ENTRIES$)?> $_DIR_ENTRIES$<?else?>0<?endif?>+<?if($_BOARD_ENTRIES$)?>$_BOARD_ENTRIES$<?else?>0<?endif?>+<?if($_PHOTO_ENTRIES$)?> $_PHOTO_ENTRIES$<?else?>0<?endif?></div>

В Общий вид страниц форума,между <head></head>:
Код: Выделить всё
<style type="text/css">
.HiddenBlock {display: none; background: #666666; border: 1px dashed white; width: 100 %; color: black; padding: 10px 10px 10px 10px;}
</style>


После $BODY$ в общем виде страниц форума:
Код: Выделить всё
<script type="text/javascript">
 /* © Айдар aka Pain (http://free-manga.net.ru/) */
 $('.posttdMessage').each(function () { //класс может быть другим!!
    Tmp = jQuery(this).html();
    jQuery(this).html(Tmp.replace(/\[hide\=([^\[]+)]([^\[]+)\[\/hide]/ig, '<span class="NeededPoints" style="display: none; ">$1</span><div class="HiddenBlock">$2</div>'));
 });

 <?if($USER_LOGGED_IN$)?>$.get('/index/8', {}, function (Res) {
    var MyActivities = eval($('#UserActivities', Res).html());
    $('.HiddenBlock').each(function (l) {
    if (parseInt($('.NeededPoints:eq(' + l + ')').html()) <= MyActivities) {
    jQuery(this).show();
    } else {
    jQuery(this).html('Необходимо <b>' + $('.NeededPoints:eq(' + l + ')').html() + '</b> сообщений для просмотра.').show();
    }
    });
 });<?else?>
 $('.HiddenBlock').each(function (l) {
    jQuery(this).html('Скрытый текст. Для просмотра необходимо зарегистрироваться и набрать <b>' + $('.NeededPoints:eq(' + l + ')').html() + '</b> сообщений.').show();
 });
 <?endif?>
 </script>

Источник :ugeek:
Андрей
Сержант
Сержант
 
Сообщения: 45
Зарегистрирован: 23 апр 2008, 16:02
Карма: + 0 -
Откуда: Москва

След.

Вернуться в Архив скриптов и интересных решений

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

cron