регистрация
856материалов
3264комментария
230тем на форуме
6750пользователей

Поиск по актерам для киносайтов ucoz


Не раз я сталкивался с такой проблемой, что заказчику необходимо было организовать поиск фильмов по актерам. Немного поразмыслив я написал простенький скрипт, который посредством технологий JavaScript (библиотека JQuery) из определенного поля берет имена актеров и превращает их в конструкцию, напоминающую теги. Скрипт будет работать в любом модуле, но так как чаще всего используют для киносайтов модуль load и news, сделал на их примере.

Как это работает? Скрипт получает из поля имена актеров, например Джеки Мэйсон, Энтони Дель Рио, Эбби Уатен, Пол Фицджералд, Том Ноуики, Одри Лэндерс, Нэйтан П. Кэри, Лин Шэй, Джеймс Мартин Келли, Дави Джон. Здесь все актеры разделены запятой, именно по этому знаку препинания скрипт будет разделять актеров и заносить в массив. Можно разделять по любому другому знаку, цифре, букве, соответственно в строке скрипта изменив этот знак на нужный:

Код
Код
var actors = actors.split(',');

Далее скрипт по циклу обрабатывает данные, обрамляя имена ссылками, и выводит весь список в определенный div.

Приступим к установке:

Для начала в Админ Панели зададим поле, в котором будем выводить актеров, например использую поле Имя Автора Материала - $AUTHOR_NAME$ в каталоге файлов (модуль load). Вместо этого поля можно использовать, например, $OTHER1$.

Теперь на странице материала и комментариев к нему создадим пустой div по месту:

Код
Код
<div class="actors"></div>

В этот div будут выводиться теги-актеры.

Далее сразу под этим div'ом размещаем следующий скрипт:

Код
Код
<script>   
   var actors = '$AUTHOR_NAME$'; //поле, где заданы актеры   
var actors = actors.split(',');   
var links = new Array();   
for (var i = 0; i < actors.length; i++)   
{links [i]= '<a href="/search/' + actors [i]+ '">' + actors [i]+ '</a>';}   
   $('.actors').html(links.join (', '));//выводим в нужный div   
</script>

В конечном итоге получим вот такую конструкцию:

Код
Код
<div class="actors"></div>   
<script>   
   var actors = '$AUTHOR_NAME$'; //поле, где заданы актеры   
var actors = actors.split(',');   
var links = new Array();   
for (var i = 0; i < actors.length; i++)   
{links [i]= '<a href="/search/' + actors [i]+ '">' + actors [i]+ '</a>';}   
   $('.actors').html(links.join (', '));//выводим в нужный div   
</script>

Имя класса дива можно изменить на свое, только не забудьте изменить это же имя в скрипте в строке

Код
Код
$('.actors').html(links.join (', '));//выводим в нужный div

На этом установка закончена. Спасибо за внимание, пишите свое мнение, идеи и вопросы в комментариях.


Скрипт опубликовал:
...
Логин на сайте: ...
Группа: ...
Статус: ...
Информация о скрипте:
Дата добавления материала: 26.08.2013 в 00:19
Материал просмотрен: 1680 раз
Категория материала: Скрипты для uCoz
К материалу оставлены: 2 комментария

Пожаловаться
Сказать спасибо
Источник

2 комментария


pro100kasper
pro100kasper @pro100kasper 15.07.2015 00:591
+1
Хороший скрипт у самого такой стоит, главное, что можно его использовать бесконечно раз на странице достаточно везде в коде изменить actors на свое значение.
Kino-on
Kino- on @Kino-on 09.03.2017 02:462
0
Спасибо за скрипт) давненько кстати я искал его)
avatar
Хотите сайт всего за 10 дней?
Создать сайт вместе с uKit.com
Статистики нашего сайта
Правила чата
Пользователи онлайн
Закрыть мини-чат
+Открыть мини-чат
0
Онлайн всего: 3
Гостей: 3
Пользователей: 0