Каталог статей » JS и JQ скрипты для uCoz
22.08.2010 

Реклама между новостями, постами. Скрипт для юКоз. jQuery

И опять, всё началось не спроста .... ヅ

Чёй-то, последнее время, у меня начало входить это в привычку. Ну да ладно, оставим сантименты на лучшие времена, а сейчас новая задача. Вставка информационного блока между блоков новостей, например, или материалами других модулей.

В который раз, напомню, что:

Если у вас сайт на хостинге юКоз (uCoz), и вы не совершали никаких действий по отключению скриптаjQuery у вас есть, так как подключена «по умолчанию». Это, тот самый, скрипт «u.js» - который включает в себя эту библиотеку.


Задача ясна. Прикинем как можно наиболее просто это реализовать.

Я вижу, так, навскидку, как минимум два решения этой задачи. С использованием системных кодов, и про помощи JavaScript и jQuery.

Мне интересны оба варианта, так как один - обладает более высокими SEO-параметрами, при правильном использовании, а второй - большей гибкостью - как раз под рекламные блоки - с второстепенной/рекламной информацией.


Простейший вариант

Скопирован, практически один-в-один вот от сюда: «Модуль "Новости сайта" (решение проблем)»

Quote (Olsiva)
Зайдите в шаблон страницы, на которой у Вас выводятся новости, и там ПОСЛЕ $BODY$ (или $CONTENT$) ставьте это :
Code
<div style="display:none;">
<div id="reklama">
<strong>=== ТУТ ВАША РЕКЛАМА !!! ===</strong>
</div>
</div>
<script>
$("table.eBlock:eq(1)").after( $("div#reklama") );
</script>
где eq(1) - выводит рекламу после ВТОРОЙ новости (считаем с НУЛЯ!).При необходимости повторить рекламу, добавляем такую-же строчку с другой цифрой.Сказанное будет верным в случае со стандартным шаблоном. Для других шаблонов в этом месте - table.eBlock - пишем тот элемент с его классом или идентификатором, в котором выводится Ваша новость (например - div#news).

Всё бы хорошо, да не очень удобно ...

Давайте рассмотрим плюсы и минусы.

Плюсы:

  • - простота.
  • - Абсолютно любой контент. И любые сткрипты.
  • - Возможность применения информеров не в скриптовом варианте.

Минусы:

  • - наличие блоков, считай с мусором (рекламой) в теле страницы, причём используется единовременно - только один. А если их много ... ヅ
  • - При редактировании/изменении блока, информации в нём - нужно редактировать шаблон страницы. Возможны ошибки, при неаккуратности ...
  • - Увеличение общей массы страницы.
  • - Нет случайной выборки. То есть блок статичен. и т.д.

Другие варианты


Нет, велосипед изобретать не собираюсь, хотя и не считаю это напрасным времяпрепровождением, всё просто.

Делаем информацию динамической, то есть используем случайную выборку из блоков с рекламой. Заодно уберём лишний код из шаблона, и, делаем более удобной функцию редактирования/изменения/добавления информации.

Вот такая задачка.

Решение.

Идём в редактор страниц сайта и создаём отдельную страницу, желательно с персональным шаблоном, но можно и с обычным, и назовем её ... Реклама.

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

Code
<meta name="robots" content="noindex,nofollow" />

Можно и в роботс закрыть.

Если со стандартным шаблоном - только роботс.txt

Содержание страницы ... ヅ ... примерно вот такое ... Классы и идентификаторы - произвольные. Привязаны к будущему скрипту.

Code
<div id="banBlock0">
<div class="mCont">Здесь располагается содержимое  id "banBlock0"</div>
</div>
<div id="banBlock1">
<div class="mCont">Здесь располагается содержимое  id "banBlock1"</div>
</div>
<div id="banBlock2">
<div class="mCont">Здесь располагается содержимое  id "banBlock2"</div>
</div>
<div id="banBlock3">
<div class="mCont">Здесь располагается содержимое  id "banBlock3"</div>
</div>
<div id="banBlock4">
<div class="mCont">Здесь располагается содержимое  id "banBlock4"</div>
</div>
<div id="banBlock5">
<div class="mCont">Здесь располагается содержимое  id "banBlock5"</div>
</div>
<div id="banBlock6">
<div class="mCont">Здесь располагается содержимое  id "banBlock6"</div>
</div>
<div id="banBlock7">
<div class="mCont">Здесь располагается содержимое  id "banBlock7"</div>
</div>
<div id="banBlock8">
<div class="mCont">Здесь располагается содержимое  id "banBlock8"</div>
</div>
<div id="banBlock9">
<div class="mCont">Здесь располагается содержимое  id "banBlock9"</div>
</div>
<div id="banBlock10">
<div class="mCont">Здесь располагается содержимое  id "banBlock10"</div>
</div>

Где:

<div id="banBlock10"> - уникальный на странице блок. Используется при запросе.

<div class="mCont"> - контент для рекламы/информации. Любое содержание, кроме скриптов.


Ну, и сам скрипт, который будет осуществлять выборку из массива рекламы.

Code
<script type="text/javascript">
$(document).ready(function(){
/* Start DocumentReady */
var $this=$("#allEntries table.eBlock:eq(1)"); /* Или eq(<rnd10>) - для случайной выборки */
$this.after('<div class="myinf"><img src="http://likbezz.ucoz.ru/_theme/_st/img/ico/aj2.gif" /></div>');
$this.next('div.myinf').load('/index/0-4 #banBlock<rnd10>');
/* End DocumentReady */
});
</script>

Где:

$this=$("#allEntries table.eBlock:eq(1)"); - определяем после какого материала будет наша/ваша реклама. Отсчёт с нуля. Здесь - после второй таблицы table.eBlock в блоке #allEntries(<div id="allEntries">).

<img src="http://likbezz.ucoz.ru/_theme/_st/img/ico/aj2.gif" /> - картинка предзагрузки.

$this.next('div.myinf') - конечный контейнер для блока с рекламой. Здесь «div.myinf». ($this.after('<div class="myinf">)

/index/0-4 - адрес вашей, не моей, страницы с набором рекламных блоков. Можно использовать просто страницу, загруженную в ФМ (файловый менеджер. Здесь и далее)

#banBlock<rnd10> - ID блоков, точнее - их начало. <rnd21> - выдаёт случайное число от 0 (нуля) - до 10. Здесь. Если у вас рекламных блоков 10 - 0,1,2 ... 8,9 - ставить нужно <rnd9>.

$this=$("#allEntries table.eBlock:eq(<rnd9>)"); - можно задать случайный блок. Где <rnd9> - количество новостей на странице минус один (1)


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

$('#allEntries div[id^=entryID]:eq(0)') - выберет первый блок (:eq(0);). На любом сайте ... ヅ ... в юКоз.


Не забываем, при копировании кода, заменять « на < и вот это » на вот это > и убирать «_» ... или копируем только из блока [Смотреть чистый код]


Вот, в принципе и всё, с этим вариантом.


Вариант второй, похожий, но другой. ヅ

Другой по-принципу. Устанавливается в шаблон «вид материалов» - того модуля, где хотим наблюдать рекламу/информацию.
Вот его  ... код.

Code
<if($ID$%6='1')>
<div id="myinf$ID$">
<img src="http://likbezz.ucoz.ru/_theme/_st/img/ico/aj2.gif" />
<script type="text/javascript">
$(window).load(function(){
$('#myinf$ID$').load('/index/0-4 #banBlock<rnd10>');
});
</script>
</div>
<endif>


Где:

<if($ID$%6='1')> - узнаём, кратно ли ID материала «6» или нет. И, если кратно - выводим случайно выбранный, а можно и не случайно, блок с той же страницы, что и к предыдущему скрипту.

<div id="myinf$ID$"> - так как материалов/рекламных блоков - может быть больше одного, устанавливаем индивидуальный ID блоку приёмнику. и показываем картинку предзагрузки.

$('#myinf$ID$').load('/index/0-4 #banBlock<rnd10>'); - загружаем случайный контент в свой, индивидуальный, контейнер.


В принципе -  всё должно быть понятно, а вот мелочи - поясню.

<($ID$%6='1')> - это, примерно, после каждого каждый шестого поста - ваша реклама. Поиграйтесь с цифрами - интересно. ツ


Вариант три. С использованием информера случайных данных.

К сожалению, большому моему сожалению, в шаблоне «вид материалов» информер не пашет. Обидно.

Так что только JS.

Code
<if($ID$%6='1')>
<div id="myinf"><script type="text/javascript" src="http://tng.ucoz.ru/informer/2-1"></script></div>
<endif>


Инструкция по соззданию информера - доступна в ПУ (панель управления. Здесь и далее ... )... также можете почитать статеечку «Случайная фраза, выражение, данные. Делаем информер. Для uCoz» ...


Для тех, кто более-менее понял принцип - вот информация к размышлению.

Если данные/реклама - статичны - можно генерировать ссылку на случайный файл, загруженный в ФМ в папку на сайте. Также, можно брать блоки с инфой не с динамических страниц, как мы сделали в самом начале - и, исключительно для удобства редактирования, а со статических, просто загруженных на сайт, сделанных в любом внешнем редакторе.
Кроме того, можно использовать отдельный модуль, раздел или категорию - определить под рекламные материалы - но ... ヅ это чёт больно глобальный замах ... ヅ


Короче, к чему это я всё пишу, а к тому, что при наличии хорошей ИДЕИ - остальное - сущий пустяк.


P.S.

Всем удачи... ヅ
Ой, пока не забыл ...
блок с «блуждающей» рекламой ... можно наблюдать вот здесь ...
Правда, материалов мало...
Flesh.



Категория: JS и JQ скрипты для uCoz | Просмотров: 8142 | Добавил: likbezz (22.08.2010) | Теги » 

Всего комментариев: 4
Показано: 1-2
0  
3  Silver   [21.03.2011]

Доброго времени!

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

Хотел у вас уточнить один момент, кстати, я думаю он многим читателям так же будет интересен, - каким образом можно заставить условный оператор $ID$ - выводить нужный блок в шаблоне первого сообщения? Т.е. чтобы он выводился лишь один раз и не дублировался в других сообщениях.

0  
4  likbezz   [28.03.2011]

Quote (Silver)
каким образом можно заставить условный оператор $ID$ - выводить нужный блок в шаблоне первого сообщения? Т.е. чтобы он выводился лишь один раз и не дублировался в других сообщениях.

Оператором - никак, только скриптом - проверять - первый ли блок, и выводить, что уж вам нужно.
Или проще - при выводе первого блока писать переменную (var) - потом проверять наличие значения. Опять же скриптом.

0  
1  femida   [21.10.2010]

Здравствуйте. Попробовал описанные Вами советы, все отлично работвет (если новости в одну колонку). А вот я сделал новости в ДВЕ КОЛОНКИ и уппссс... Подскажите, как сделать вывод рекламы в моем случае?
Заранее благодарю за помощь.
сайт www.femida-ua.org

0  
2  likbezz   [29.10.2010]

Читаем ответ .....


Имя *:
Email:
Код *:


Меню сайта
Категории раздела
Создание сайтов [2]
Оформление сайтов в uCoz [7]
Оформление сайтов в uCoz. Статьи о практической стороне оформления сайтов, созданных в системе юКоз. Практические примеры использования системных операторов и кодов.
JS и JQ скрипты для uCoz [13]
JS и JQ скрипты для uCoz. Примеры и просто исходники интересных скриптов, написанных как на чистом Java Script, так и с использованием библиотек, таких как jQuery. Скрипты для ucoz, скрипты для юкоз, скрипты для укоз
Прочие статьи о uCoz [0]
Прочие статьи о uCoz. Статиь не вошедшие ни в одну из выше представленных категорий.
Отсортировать по:
Случайные статьи

Страницы входа/показатель отказов. Улучшаем о...

Мы работам над сайтом, вкладываем в него душу, а посетитель почему-то не ценит наших усилий:

  • Задерживается на сайте минуту-две
  • Просматривает только 1 страницу
  • Уходит и не возвращается

Почему так случается?
Как удержать старого пользователя?
Как привлечь новых?

Немного теории

Страницы входа – первая страница сайта, на которую посетитель переходит после того, как кликнул по ссылке или ввел адрес ресурса в браузере.

Показатель отказов – процент посетителей, которые уходят с сайта после просмотра страницы входа, т.е. не переходят на другие страницы.

Отказы

Высокий показатель отказов – одна из худших возможных перспектив для ресурса, ведь это значит, что трафик, который мы так тяжело привлекали, не задерживается у нас – посетитель выходит сразу после просмотра страницы входа, а на остальные даже не обращает внимания, т.е. все усилия, время и денежные знаки потраченные на детище, пошли псу под хвост.
Шансы заработка на ресурсе, которые не может удержать пользователя, неизбежно стремятся к нулю.

Разгоняем картинки: PNG вместо GIF...

Переносимый сетевой графический формат (Portable Network Graphics, PNG) разрабатывается как более эффективная, гибкая и свободная от патентов замена GIF-формату. PNG был задуман для хранения отдельных растровых изображений для дальнейшего распространения по компьютерным сетям.
PNG был создан в 1995 в ответ на давление со стороны Unisys и их патента на алгоритм LZW-сжатия, используемый в GIF. Хотя срок действия патента Unisys уже закончился, причины на переход от GIF к PNG остались, практически, прежними. Заменив ваши GIF-изображения теми же самыми, но в формате PNG, вы можете ускорить загрузку ваших страниц и сэкономить трафик ваших пользователей.

PNG против GIF: алгоритмы сжатия

PNG использует алгоритм deflate-сжатия обычно с 32Кб скользящим (sliding) окном. Deflate является улучшенной версией алгоритма сжатия Lempel-Ziv (LZ77), который используется в ZIP- и GZIP-файлах. Созданный Phil Katz для второй версии PKZip, deflate совмещает LZ77 с кодированием Huffman и является от 10% до 30% более эффективным, чем LZW при сжатии без потери информации. Так же, как и GZIP, некоторые инструменты по PNG-сжатию предполагают опциональный параметр «степень сжатия», которая варьируется от 1 до 9.
По умолчанию выставляется 6. 9 является практически всегда лучшим выбором для максимального сжатия.

Как устроены поисковые системы...

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

Если вы хорошо знаете, что такое индекс и поисковый запрос, можете смело дальше не читать.

Главный элемент структуры современного Интернета - это поисковые машины, или поисковики.

Разных поисковиков очень много, но среди них есть главные, наиболее известные и посещаемые.
В мировом Интернете сейчас доминирует Google (произносится как гугл). В российском же, а точнее, в русскоязычном Интернете (Рунете), наиболее популярный поисковик - Яндекс.

В два раза (по количеству поисковых запросов в день) от Яндекса отстает Рамблер, потом следует «русский» Google, затем, совсем далеко от лидеров, следует Апорт, Mail.ru, а также Yahoo, Nigma и KM.ru.

Статистика форума для uCoz (юКоз)...

Делаем статистику для форума. Для сайтов на юКоз (uCoz) хостинге.

А всё началось «не спроста» ...

Решил я, однажды, то есть сегодня, сделать себе так называемую «статистике» для форума - по сути - таблица с некоторыми более-менее динамическими данными. Не долго думая - набил в поиске логичную, для ситуации, фразу «Статистика Форума Юкоз» ... посмотреть, как эту самую «статистику» делают другие .... ヅ

Поиск, как и всегда, выдал кучу различных ссылок, с одной удивительной закономерностью ... Блин, не поверите, но у меня создалось ..... ПОЛНАЯ и АБСОЛЮТНАЯ уверенность, что все материалы, а именно - информация/инструкция на тему «Как сделать блок статистики для форума» - скопировали с какого-то не очень грамотного ресурса и размножили .... Причём, даже не вникали, в то, что постят ... Интересно, просматривали хотя бы «бегло», когда копировали/вставляли.

Дабы подтвердить, да нет, мне-то параллельно - я знаю, как «правильно», а вот вам, наверное, интересно будет, пара скринов..... Ну а после уже «Моя инструкция»

Релевантность. Цели и типы поисковых запросов...

Качество поисковой машины (поисковика)

В отношении поисковых машин очень часто можно слышать подобные оценки: «Я пользуюсь Яндексом, потому что он лучше ищет!», «Гугл круче всех» - довольно распространенные высказывания. Что же такое качество поисковика?
Обычно, синонимом качества поиска считается его релевантность.

Что такое релевантность

В отношении поисковых машин слово релевантный - чуть ли не главный термин.
Релевантная выдача, релевантные результаты, у поисковика «X» релевантность выше, чем у поисковика «Y», - нередкие выражения.  А что они означают?
Релевантный - значит относящийся к делу. Релевантность результатов поиска поисковой машины означает, что эти результаты содержат страницы, относящиеся к делу, т.е. к смыслу поискового запроса.

Это определение релевантности выглядит очень просто. Казалось бы, из него следует, что если мы введем поисковый запрос и если среди первых результатов поиска окажутся только релевантные сайты, то выдача поисковой машины будет релевантна. Однако это не совсем так.
Давайте разберемся с этим вопросом подробнее.

Как «отблагодарить»

Вам помогли на сайте? ...

Вам понравился сайт и вы хотите и можете помочь проекту? ...

WebMoney (кошелёк):

R426443544810
Z120914141775
E305902557268
U399148405304
B258688647365

Яндекс деньги (№ счета):

41001660518076

Единый кошелек (№ счета):

181342928825@W1

[Оплата с терминала]