• Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Admin, Cибиря4ка, Komoff, Diana  
Скрипты и коды для юкоз - Форум аццкого кодера » Раздел для начинающих » Если вы пришли за помощью, то Вам сюда... » Hide по постам. Новая версия с поддержкой базового API (Как сделать Hide с выводом мимального количества постов...)
Hide по постам. Новая версия с поддержкой базового API
Дата: Воскресенье, 15.05.2011, 10:03 |
DesBR
Подполковник
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 1
Статус: Offline


На некоторых сайта юкоза я заметил возможность устанавливать значимость хайда: [hidе=30]text[/hide] - Текст могут видеть лишь те кто имеет 30 сообщений и более.. Подскажите пожалуйста как это возможно сделать? Пример сайта: ссылка.

 
Дата: Воскресенье, 15.05.2011, 13:14 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


DesBR,
Quote (DesBR)
На некоторых сайта юкоза я заметил возможность устанавливать значимость хайда: [hidе=30]text[/hide] - Текст могут видеть лишь те кто имеет 30 сообщений и более.. Подскажите пожалуйста как это возможно сделать?

В шаблон: Пользователи » Персональная страница пользователя вставляем вот такой код:

Code
<span style="display:none;"><noindex id="usForumPosts"><?if($_FORUM_ENTRIES$)?>$_FORUM_ENTRIES$<?else?>0<?endif?></noindex></span>


...

В шаблон Форум » Общий вид страниц форума, сразу после $BОDY$ добавляем вот этот скрипт:

Code
<?if($PAGE_ID$='threadpage' or $PAGE_ID$='usermess')?>
<script type="text/javascript">
$('.posttdMessage').each(function(){var tmp=$(this).html();
$(this).html(tmp.replace(/\[hide\=([^\[]+)]([^\[]+)\[\/hide]/ig,'<span class="mustPosts" style="display:none;">$1</span><div class="HiddenBlock">$2</div>'));});
<?if($USER_LOGGED_IN$)?>$.get('/index/8',{},function(d){var usposts=eval($('#usForumPosts',d).html());
$('.HiddenBlock').each(function(i){
if (parseInt($('.mustPosts:eq('+i+')').html())<=usposts){$(this).show();}else{
$(this).html('<div style="border:1px solid #F00;padding:3px;color:#F00;">Необходимо <b>' + $('.mustPosts:eq('+i+')').html()+'</b> сообщений для просмотра.</div>').show();}});
});<?else?>
$('.HiddenBlock').each(function(i){$(this).html('<div  style="border:1px solid #F00;padding:3px;color:#F00;">Скрытый текст. Для просмотра необходимо зарегистрироваться и набрать <b>' + $('.mustPosts:eq('+i+')').html()+'</b> сообщений.</div>').show();});
<?endif?>
</script>
<?endif?>


...

Наблюдаем результат:


...

...

Прикрепления: 2740525.png (9.9 Kb) · 6351561.png (8.5 Kb) · 3459147.png (14.2 Kb) · 8457501.png (4.7 Kb)

 
Дата: Понедельник, 16.05.2011, 08:53 |
DesBR
Подполковник
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 1
Статус: Offline



кол-во имеющихся сообщений многим больше требуемого кол-ва от хайда

Добавлено (16.05.2011, 08:53)
---------------------------------------------
А так же как можно сделать хайд зависящий от сообщений И репутации пользователя?

 
Дата: Понедельник, 16.05.2011, 11:44 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


DesBR,
Quote (DesBR)
кол-во имеющихся сообщений многим больше требуемого кол-ва от хайда

Да, мой косяк, не проверил)
Исправлено - в персональную страницу пользователя добавлять вот такой код:
Code
<span style="display:none;"><noindex id="usForumPosts"><?if($_FORUM_ENTRIES$)?>$_FORUM_ENTRIES$<?else?>0<?endif?></noindex></span>
- добавлен внешний контейнер.

Протестировать можно вот тут:
http://test.likbezz.ru/forum/2-1-1#11
Log: Tester
Pass: BYa-v-a2TRzk1qA
...

Quote (DesBR)
А так же как можно сделать хайд зависящий от сообщений И репутации пользователя?

Точно также, проверять наличие репутации, и сравнивать количество баллов с числом.

Но тут одна проблема: как передать в скрипт необходимое кол-во репутации для просмотре.
Либо и количество сообщений и количество репутации для просмотра делать равным и тогда передавать, как и в скрипте выше, одну цифру, либо установить общее для всех значение.

Другие варианты, как например передавать две цифры - ведут к усложнению скрипта и написанию хайда - не все врубяться как именно и что писать.

Как вытащить репутацию текущего пользователя, и запретить выполнять какие-то действия, написано вот тут «Как запретить измененять репутацию при маленькой репутации?» ...
...

 
Дата: Понедельник, 16.05.2011, 11:51 |
DesBR
Подполковник
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 1
Статус: Offline


Огромное спасибо!

 
Дата: Понедельник, 16.05.2011, 12:06 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


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

Вот скрипт для работы с API:

Используется точно также.

В шаблон Форум » Общий вид страниц форума, сразу после $BОDY$ добавляем вот этот скрипт:

Code
<?if($PAGE_ID$='threadpage' or $PAGE_ID$='usermess')?>
<script type="text/javascript">
$('.posttdMessage').each(function(){var tmp=$(this).html();
$(this).html(tmp.replace(/\[hide\=([^\[]+)]([^\[]+)\[\/hide]/ig,'<span class="mustPosts" style="display:none;">$1</span><div class="HiddenBlock">$2</div>'));});
<?if($USER_LOGGED_IN$)?>
$.get('/api/index/46',{},function(d){
var usposts=(/USERFORUMENTRIES_NUM/ig.test($('member',d).text()))?$('member',d).text().split('USERFORUMENTRIES_NUM')[1].split('USERFORUMENTRIES_')[0]:0;
$('.HiddenBlock').each(function(i){
if (parseInt($('.mustPosts:eq('+i+')').html())<=usposts){$(this).show();}else{
$(this).html('<div style="border:1px solid #F00;padding:3px;color:#F00;">Необходимо <b>' + $('.mustPosts:eq('+i+')').html()+'</b> сообщений для просмотра.</div>').show();}});
});<?else?>
$('.HiddenBlock').each(function(i){$(this).html('<div  style="border:1px solid #F00;padding:3px;color:#F00;">Скрытый текст. Для просмотра необходимо зарегистрироваться и набрать <b>'+$('.mustPosts:eq('+i+')').html()+'</b> сообщений.</div>').show();});
<?endif?>
</script>
<?endif?>

... Всё ... Больше ничего.

Вид алерт-блока настраивается в скрипте ...

 
Дата: Понедельник, 16.05.2011, 12:52 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


[hide=10000]Test[/hide]

 
Дата: Понедельник, 16.05.2011, 13:33 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


[hide=2000]Всё написанное выше - моё личное мнение и за абсолютную истину восприниматься не должно.[/hide]

 
Дата: Понедельник, 16.05.2011, 15:00 |
DesBR
Подполковник
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 1
Статус: Offline


Интересно, что же за ними скрывается?) wink 12345 или qwerty)

Добавлено (16.05.2011, 15:00)
---------------------------------------------
likbezz, что нужно дописать что бы появлялось А у вас только 5?

 
Дата: Понедельник, 16.05.2011, 15:18 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


DesBR,
Quote (DesBR)
likbezz, что нужно дописать что бы появлялось А у вас только 5?

Вот в это место:
Quote (Code)
<div style="border:1px solid #F00;padding:3px;color:#F00;">Необходимо <b>' + $('.mustPosts:eq('+i+')').html()+'</b> сообщений для просмотра. А у вас только <b>'+usposts+'</b>.</div>

то, что выделено синим.


 
Дата: Среда, 18.05.2011, 14:24 |
DesBR
Подполковник
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 1
Статус: Offline


Идеально! Спасибо wink

Добавлено (18.05.2011, 13:41)
---------------------------------------------
likbezz, Хайд успешно работает, но только в том случае если меду открывающимся и закрывающимся ВВ кодом нет подобных скобок: [ ]. Как понимаю - особенность юкоза?

Добавлено (18.05.2011, 14:24)
---------------------------------------------
Возмжно ли создать или использовать какой либо ВВ код что бы он отдельно от хайда имел функцию просмотра по репутации?

 
Дата: Среда, 18.05.2011, 15:52 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


DesBR,
Quote (DesBR)
Как понимаю - особенность юкоза?

Нет, это особенность поиска количества баллов для просмотра скрытого текста.

Quote (DesBR)
Возмжно ли создать или использовать какой либо ВВ код что бы он отдельно от хайда имел функцию просмотра по репутации?

Да, возможно, как и вообще создать любы другие свои BB-коды.

По теме:
«Как сделать свои BB-коды для сайта / форума» Статья
«Как сделать свои BB-коды для сайта / форума» Тема на форуме

 
Дата: Среда, 18.05.2011, 16:10 |
DesBR
Подполковник
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 1
Статус: Offline


Почитаю;)

 
Дата: Среда, 09.04.2014, 06:44 |
VadimW
Рядовой
Группа: Проверенные
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline


likbezz, Здравствуйте! Помогите пожалуйста с API... Есть вот такой код:

Код
<div id="otvet"></div>  
<script type="text/javascript">    
    $.get(    
        'http://rockcrysoul.ucoz.ru/api/load/him/1',    
   function(data){   
var mydata = new Array();    
var i = 0;    
$('name', data).each(function(){    
if($(this).text()=='ENTRY_URL'){    
if(mydata[$(this).text()] == undefined) mydata[$(this).text()] = new Array();    
mydata[$(this).text()][i] = $(this).next().text();    
i++;    
}    
});  

        $('#otvet').html('<a href='+mydata['ENTRY_URL'][0]+'>'+mydata['CATEGORY_NAME']+' - '+mydata['TITLE']+'</a>'+'<a href='+mydata['ENTRY_URL'][1]+'>'+mydata['CATEGORY_NAME']+' - '+mydata['TITLE']+'</a>'+'<a href='+mydata['ENTRY_URL'][3]+'>'+mydata['CATEGORY_NAME']+' - '+mydata['TITLE']+'</a>');
      
    },    
    'xml'    
    );    
</script>


Мне нужно вывести 10 материалов из определённой категории load. http://rockcrysoul.ucoz.ru/api/load/him/1
И что бы "him/1" менялось в зависимости от того, на которой странице ты находишься в модуле "publ", то есть...
У меня есть биография группы HIM (http://rockcrysoul.ucoz.ru/publ/zarubezhnye/him/29-1-0-1)
И есть соответствующая категория(там находится музыка) http://rockcrysoul.ucoz.ru/api/load/him/1
И так как название категории и название биографии совпадает, то можно сделать импорт из категории в биографию. Но вопрос как?
И ещё, когда выводится, то почему то пишет "undefined - undefined"

Думаю Вы ответите, на что и спасибо smile


 
Дата: Среда, 09.04.2014, 20:33 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Цитата VadimW, Ср, 09.04.2014, 06:44:10
Здравствуйте! Помогите пожалуйста с API... Есть вот такой код:

Добрый.
Я не понял что вы хотите, если честно. и .. наверное бесплатно вникать в это не буду.


 
Скрипты и коды для юкоз - Форум аццкого кодера » Раздел для начинающих » Если вы пришли за помощью, то Вам сюда... » Hide по постам. Новая версия с поддержкой базового API (Как сделать Hide с выводом мимального количества постов...)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:


Мобильная версия