• Страница 1 из 1
  • 1
Предпросмотр тем на форуме для uCoz
workman
Пятница, 03 Июля 2015, 15:50 | Сообщение 1
Оффлайн
Проверенные
Сообщений:1716
Награды: 9
Скрипт выполняет функцию для просмотра форума по темам, и все делается так, что вы не заходите на этот модуль. Где все можно узнать с главной или где будет установлен скрипт. Предпочитается устанавливать на сайты, где реально активный форум, что создаются темы постоянно.



Данный скрипт ставим в общий вид страниц форума перед /body

Код
<script type="text/javascript">
$('.threadNametd').each(function() {
var a_link = $(this).find("a:first").attr('href');
var nt = $(this).text();
a_img = $("<img/>").attr({src: 'https://diz-cs.ru/newicoforum/prev.png',style: 'float:right',border:'0',title: 'Предпросмотр темы'});
$(this).prepend(a_img);
$(a_img).click(function() {
$('.themei').load(a_link+' .themeo:first',function() {
new _uWnd('theq','Предпросмотр темы "'+nt+'"',400,100,{align:0,shadow:0,close:1,autosize:1,maxh:500,minh:100,resize:1,icon: 'https://diz-cs.ru/newicoforum/eye.png'}, $(".themei").html() )
});
});
});
</script>
<div style="display:none;"><div class="themei">Загрузка...</div></div>

А этот код ставим в виде материалов форума в самый низ

Код
<div style="display:none;"><div class="themeo"><fieldset><legend>Сообщение</legend>$MESSAGE$</fieldset><hr><fieldset>Автор - <a href="$PROFILE_URL$"><b>$USERNAME$</b></a><br>Дата добавления - <b>$DATE$</b> в <b>$TIME$</b></fieldset></div></div>
Прикрепления: 7137883.png (10.6 Kb)
Страна: (RU)
kredit-oformi
Пятница, 03 Июля 2015, 15:57 | Сообщение 2
Оффлайн
Vip
Сообщений:1975
Награды: 5
workman, не совсем поня что это?
Страна: (RU)
workman
Пятница, 03 Июля 2015, 15:59 | Сообщение 3
Оффлайн
Проверенные
Сообщений:1716
Награды: 9
Цитата kredit-oformi ()
не совсем поня что это?

Предпросмотр темы на форуме без захода в нее. Следуй инструкции и смотри картинку куда нужно нажать именно
Страна: (RU)
gadskiy_papa
Среда, 12 Января 2022, 19:25 | Сообщение 4
Оффлайн
Проверенные
Сообщений:23
Награды: 1
Цитата workman ()
www.brigada31.ru/iconka/folder.png

Не возможно скачать... Гугл блокирует... Как скачать?...
Страна: (RU)
Kosten
Среда, 12 Января 2022, 20:11 | Сообщение 5
Оффлайн
Администраторы
Сообщений:44490
Награды: 70
Цитата gadskiy_papa ()
Не возможно скачать.

Там не чего не нужно скачивать, так как это переход ранее был на сайт, сейчас он не существует.

На счет изображение, это как раз то, что вы устанавливаете.
Страна: (RU)
gadskiy_papa
Среда, 12 Января 2022, 21:38 | Сообщение 6
Оффлайн
Проверенные
Сообщений:23
Награды: 1
Цитата Kosten ()
изображение

Вот его-то и не хватает...

Нашёл другой скрипт по этой-же теме, при скачивании картинки пишет - Ошибка. Заблокировано. Хотя картинка есть, гифка = s28.ucoz.net/img/ma/m/i2.gif
Страна: (RU)
Kosten
Среда, 12 Января 2022, 22:35 | Сообщение 7
Оффлайн
Администраторы
Сообщений:44490
Награды: 70
gadskiy_papa, рекомендую зайти на сайт иконками изображение, там вы найдете разные иконки или кнопки. Если забивать в поиск, то для начало перевидите на английский, на переводчике гугл нормально, для того, чтоб корректно искал.
Страна: (RU)
Kosten
Среда, 12 Января 2022, 22:38 | Сообщение 8
Оффлайн
Администраторы
Сообщений:44490
Награды: 70
Цитата gadskiy_papa ()
Хотя картинка есть, гифка = s28.ucoz.net/img/ma/m/i2.gif

Эта картинка системная, а там от домена идет, где домен не продлил и все слетело.
Страна: (RU)
-SAM-
Суббота, 15 Января 2022, 06:53 | Сообщение 9
Онлайн
Друзья сайта
Сообщений:896
Награды: 40
gadskiy_papa, как выше уже подметил Kosten, вам ничего не мешает там прописать свои иконки какие-то. А так, то я в личку админу скинул скрипт с правильными иконками (чтобы в шапке темы поправить), с которыми он изначально был на сайте-источнике - uCodes. При чём у меня оно залито еще с 2010 года. Ну, а потом уже свои лепить начали, особенно при перепечатке с сайта на сайт (когда пытались свой домен продвигать, как в этом случае, а оно потом отваливалось - приходилось картинку ставить какую-то иную).



Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно.
Бесплатное оказание помощи в ответах на "Вопросы про uCoz".


Сообщение отредактировал
-SAM- - Суббота, 15 Января 2022, 07:31
Страна: (UA)
gadskiy_papa
Суббота, 15 Января 2022, 23:23 | Сообщение 10
Оффлайн
Проверенные
Сообщений:23
Награды: 1
-SAM-, я уже нашёл там, где указал Kosten, всё работает...
Страна: (RU)
Kosten
Воскресенье, 16 Января 2022, 00:57 | Сообщение 11
Оффлайн
Администраторы
Сообщений:44490
Награды: 70
gadskiy_papa, как понимаю все работает корректно?
Страна: (RU)
gadskiy_papa
Воскресенье, 16 Января 2022, 13:35 | Сообщение 12
Оффлайн
Проверенные
Сообщений:23
Награды: 1
Цитата Kosten ()
работает корректно

Да, всё работает...
Прикрепления: 7952853.jpg (88.2 Kb)
Страна: (RU)
Kosten
Воскресенье, 16 Января 2022, 18:31 | Сообщение 13
Оффлайн
Администраторы
Сообщений:44490
Награды: 70
gadskiy_papa, круто, просто мне встречались форумы, но не на юкоз, где аналогичная функция есть.

Главное, чтоб как можно быстрее открывалось окно, но это больше зависит от интернет соединение, точнее скорости.
Страна: (RU)
-SAM-
Среда, 19 Января 2022, 09:41 | Сообщение 14
Онлайн
Друзья сайта
Сообщений:896
Награды: 40
Скрипт еще желательно обернуть в условный оператор:
Код
<?if($PAGE_ID$='forum' || $PAGE_ID$='recentthreads' || $PAGE_ID$='uthreads' || $PAGE_ID$='search')?><script type="text/javascript"> [...] </script>
<div style="display:none;"><div class="themei">Загрузка...</div></div><?endif?>
Это чтобы не выводился довеском в исходниках(в шаблоне) тех страниц форума, где нет предросмотра.

Если посмотреть внимательно, то там в скрипте идёт .themeo:first - это привязка на первое сообщение в теме, соответственно если нужно предпросмотр последнего, то меняем на .themeo:last (ограничивается первой страницей темы, если что).

А тот код, что ставиться в сам вид материалов форума, то нужно обернуть в условие:
Код
<?if($PAGE_ID$='threadpage' and substr($NUMBER$,strpos($NUMBER$,">")+1,strpos($NUMBER$,"a")-2)=1)?><!--noindex--><div style="display:none;"> [...] </div><!--/noindex--><?endif?>
Используется подрезка substr (в сети еще есть вариант substr($NUMBER$, strrpos($NUMBER$,"return false;")+15,len($NUMBER$)-strrpos($NUMBER$,"return false;")-19)=1 - не проверял, это исходя из того, что в отдаваемый системой код на номер сообщения на странице может меняться со временем), поскольку условие по $NUM_ON_PAGE$=1 - не подходит (оно будет действовать и для первого сообщения на следующей странице, что нам не нужно). Ну, а когда делать предпросмотр последнего сообщения, то обернуть в условие по $LAST_ON_PAGE$ (вместо того substr или $NUM_ON_PAGE$=1). Но нужно понимать, что всё равно в этом случае будет довесок, ведь эта переменная для последнего сообщения на каждой странице темы (а указать номер сообщения нельзя здесь, ибо не знаешь сколько сообщений оставлено было; само количество сообщений на странице задается в настройках модуля). В общем, без этого этот участок кода будет дублироваться в каждом сообщении форума (при чём там дублем будет и сам текст сообщения, ведь идёт внутри еще раз переменная $MESSAGE$). В итоге для предпросмотра последнего сообщения делаем условный оператор такой:
Код
<?if($PAGE_ID$='threadpage' and substr($NUMBER$,strpos($NUMBER$,">")+1,strpos($NUMBER$,"a")-2)<=n and $LAST_ON_PAGE$)?><!--noindex--><div style="display:none;"> [...] </div><!--/noindex--><?endif?>
Где n как раз и будет количество сообщений на странице темы, что индивидуально задано вами в настройках модуля форума.

P.S.: как видите, то скрипт не оптимизирован (реализация не из лучших). Есть еще платная версия на uScript, что не делает нагрузки запросами (реализовано на php). Есть на него похожий по внешнему поведению скрипт(без php), что используется на Webo4ka (наверное, админ в публичный доступ не выкладывал - не в курсе... в общем, я рипать не стану, а вам на заметку).




Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно.
Бесплатное оказание помощи в ответах на "Вопросы про uCoz".


Сообщение отредактировал
-SAM- - Суббота, 22 Января 2022, 01:07
Страна: (UA)
  • Страница 1 из 1
  • 1
Поиск: