регистрация
858материалов
3198комментариев
249тем на форуме
7246пользователей
Сайт ищет нового владельца по разумной цене:) По всем вопросам: romchik-domnin@yandex.ru
Подробнее

Поиск по актерам для киносайтов 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

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


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

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

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


pro100kasper
pro100kasper @pro100kasper 15.07.2015 00:591
+1
Хороший скрипт у самого такой стоит, главное, что можно его использовать бесконечно раз на странице достаточно везде в коде изменить actors на свое значение.
Kino-on
Kino- on @Kino-on 09.03.2017 02:462
0
Спасибо за скрипт) давненько кстати я искал его)
emmag
Emil Magakyan @emmag 06.01.2018 18:293
0
Добрый день. Скажите пожалуйста, как разобраться со всем этим?
emmag
Emil Magakyan @emmag 06.01.2018 18:394
0
Как в админ панели задать поле, где это находится и что писать в поле? Для начала что надо делать, и какой код куда впихнуть?
var actors = '$AUTHOR_NAME$'; //поле, где заданы актеры - здесь надо поставить какой то код?
$('.actors').html(links.join (', '));//выводим в нужный div - какой див и откуда брать, что писать сюда?
avatar
Правила чата
Закрыть мини-чат
+Открыть мини-чат
0
Онлайн всего: 1
Гостей: 1
Пользователей: 0