• Страница 1 из 1
  • 1
Архив - только для чтения
Сообщество uCoz » Архивариус » Архив » Чистка: 25.07.11 - Дизайн форума (Вывод информации после каждого первого сообщения)
Чистка: 25.07.11 - Дизайн форума
Yuriy
Сообщений: 33
Репутация: 17

Сообщение # 1 | 21:03:11
Привет, юкозовцы! Давно ничего тут не писал, хотя сайт 2 года имею, сам справляюсь. Пришлось зайти в гости.

Мне нужно, чтобы после каждого первого сообщения на форуме, какая бы это ни была страница, выводилась реклама. На странице по 30 постов. Первая страница с 1, вторая - с 31, третья - с 61, ... .

Логика простая. Сначало написал такой код на JS (в качестве переменной link я тут принял текст из переменной юкоза $NUMBER$):

Code
<script language="JavaScript">
    var link="<a name=\"9492\" class=\"postNumberLink\" href=\"javascript://\" onclick=\"prompt('Прямая ссылка к сообщению','http://c-soft.net.ru/forum/12-761-9492-16-1218075137');return false;\">20</a>";
    alert(link.substr(link.indexOf('">')+2,(link.indexOf('</')+1)-(link.indexOf('">')+3)));
</script>


Данный код "распарсит" строку и выведет оттуда номер поста в алерте (сейчас - 20).

Данный принцип я применил в юкозе. Не работает...

Code
<?if((substr(strpos($NUMBER$,'">')+2,(strpos($NUMBER$,'</')+1)-(strpos($NUMBER$,'">')+3))-1)%30=0 OR strpos($NUMBER$,'>1<')>0)?>
    --Вывод рекламы--
<?endif?>


Если бы можно было результат работы вывести на экран, было бы легче. А так пришлось гадать. По кусочкам разбил и проверил этот код - всё правильно.

У кого какие будут идеи?

weiss
Сообщений: 173
Репутация: 104

Сообщение # 2 | 22:00:57
Yuriy
Сообщений: 33
Репутация: 17

Сообщение # 3 | 02:50:40
weiss, с помощью JS я и без вас могу это сделать. Я хочу это сделать с помощью uCoz. Зря я этот код выводил, что ли? cool

Добавлено (18-Авг-2008, 02:50:40)
---------------------------------------------
Видимо, никто просто не хочет разбирать мой код. Тогда подожду Андрея или тёзку - админов smile Надеюсь, помогут...


Kron
Сообщений: 2338
Репутация: 674

Сообщение # 4 | 14:16:20
Yuriy, есть класс
Code
class="postFirst"
вот яваскриптом туда можно вставить (точнее добавить) любой код, есть уже готовые функции, позволяющие получить элемент по классу...

После обновления системы мы будем использовать отличную JS библиотеку, которая называется JQuery с ее помощью можно будет легко обратиться к любому элементу через айди или класс.

Yuriy
Сообщений: 33
Репутация: 17

Сообщение # 5 | 14:38:25
Quote (uCoz)
вот яваскриптом туда можно вставить (точнее добавить) любой код, есть уже готовые функции, позволяющие получить элемент по классу...

То есть, правильно, что ваш ucoz-код не работает?

Quote (uCoz)
После обновления системы мы будем использовать отличную JS библиотеку, которая называется JQuery с ее помощью можно будет легко обратиться к любому элементу через айди или класс.

Слышал о такой. Раз вы её собираетесь использовать, пора, значит, ознакомиться поближе smile

Спасибо за ответ.


Kron
Сообщений: 2338
Репутация: 674

Сообщение # 6 | 15:38:43
Quote (Yuriy)
То есть, правильно, что ваш ucoz-код не работает?

интересно, что значит наш юкоз-код?
Yuriy
Сообщений: 33
Репутация: 17

Сообщение # 7 | 17:37:46
Вот этот:

Code
<?if((substr(strpos($NUMBER$,'">')+2,(strpos($NUMBER$,'</')+1)-(strpos($NUMBER$,'">')+3))-1)%30=0 OR strpos($NUMBER$,'>1<')>0)?>  
    --Вывод рекламы--  
<?endif?>

Может, без JS проблема решаема? Я его знаю, просто интересно, почему вышеприведённый код не работает. Перечитайте на всякий случай первый пост, может пропустили чего?

Добавлено (18-Авг-2008, 17:37:46)
---------------------------------------------
[offtop]

Quote (uCoz)
После обновления системы мы будем использовать отличную JS библиотеку, которая называется JQuery с ее помощью можно будет легко обратиться к любому элементу через айди или класс.

Кстати, классная вещь. Даже работа с AJAX теперь осуществляется в 1 строку smile

[/offtop]


Aleko
Репутация: 46

Сообщение # 8 | 00:47:46
Вот мой вариант ()доработанный вариант с хэлпера):

<style>#buka {display:none}</style>
<script>
rekPost = rekPost + 1;
if(rekPost == 1) {document.write('<div>')} else (document.write('<div id=buka>'))
</script><span style="color:purple">ТУТ ВАША РЕКЛАМА</div></span>

Можно вставлять любое содержимое. Не надо разбираться со скриптом. Весь урок по установке тут>>


Yuriy
Сообщений: 33
Репутация: 17

Сообщение # 9 | 22:54:38
Aleko, ты совсем не читал, что я пишу выше...

dancelot
Репутация: 50
Уровень замечаний:

Сообщение # 10 | 12:01:34
Quote (Kron)
После обновления системы мы будем использовать отличную JS библиотеку, которая называется JQuery с ее помощью можно будет легко обратиться к любому элементу через айди или класс.

Вот это просто супер!


Сообщество uCoz » Архивариус » Архив » Чистка: 25.07.11 - Дизайн форума (Вывод информации после каждого первого сообщения)
  • Страница 1 из 1
  • 1
Поиск: