Список актеров в виде ссылок для uCoz

2199 просмотров Alan_Writer 28.02.2016

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

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

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

Установка скрипта

1. Активируем в настройках модуля любое поле, куда будем вписывать актеров (или режиссеров, или страны...). В моем случае это поле "ссылка на страницу с документацией к материалу", информация из которого в шаблоне выводиться кодом - $DOCPAGE_URL$. Это поле, и поле "ссылка на источник материала" ($SOURCE_URL$) - являются самыми вместительными кстати.

2. Теперь в то место в шаблоне, куда должна будет выводиться нужная информация - вставляем любой пустой блок с уникальным идентификатором, например class="actors". Выглядеть это может например так:
Код
Актеры: <span class="actors"></span>

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

3. И последнее, на всех страницах, где будет выводиться эта информация, прописываем скрипт:
Код
<script>
var linkino = '$DOCPAGE_URL$'; // код поля с актерами
var linkino = linkino.split(',');
var links = new Array();
for (var i = 0; i < linkino.length; i++)
{links[i] = '<a href="/search/' + linkino[i] + '">' + linkino[i] + '</a>';}
$('.actors').html(links.join (', ')); // идентификатор блока актеров
</script>

Как я уже сказал, как и блоков на одной странице может быть несколько, столько же должно быть и скриптов - каждый для своего блока. А поскольку у каждого блока должен быть свой уникальный идентификатор - он должен быть указан и в скрипте, как и код поля.

Вот пример как могут выглядеть сразу два блока:
Код
Актеры: <span class="actors"></span>
<br>
Режиссеры: <span class="directors"></span>
<script>
var linkino = '$DOCPAGE_URL$'; // код поля с актерами
var linkino = linkino.split(',');
var links = new Array();
for (var i = 0; i < linkino.length; i++)
{links[i] = '<a href="/search/' + linkino[i] + '">' + linkino[i] + '</a>';}
$('.actors').html(links.join (', ')); // идентификатор блока актеров

var linkino = '$SOURCE_URL$'; // код поля с режиссерами
var linkino = linkino.split(',');
var links = new Array();
for (var i = 0; i < linkino.length; i++)
{links[i] = '<a href="/search/' + linkino[i] + '">' + linkino[i] + '</a>';}
$('.directors').html(links.join (', ')); // идентификатор блока режиссеров
</script>

UPD: Как оказалось, скрипт этот по сути бесполезен, т.к вся информация выведенная доп.полями на страницу материала (которую потом скрипт преобразует в теги с поисковыми запросами) - в поиск не попадает, то есть находить поиск ничего по этим тегам не будет. Но я придумал небольшую хитрость, хоть импровизированные теги из доп.полей в поиск не попадают, но их можно продублировать в стандартное поле тегов - по которым поиск уже осуществляется (вот же гений)! Тут лишь одно ограничение, поле стандартных тегов ограничено 150 символами, но хоть что-то...

Ну что же, вроде все объяснил максимально доступно и понятно. Скрипт точно работает. Кому помог - оценивайте, комментируйте и делитесь материалом!

Теги: поиск по актерам, актеры тегами
2 Комментария
avatar
2
Здравствуйте, пожалуйста помогите мне разобраться этим кодом?
Список актеров в виде ссылок для uCoz
avatar
1
Где взять такой вид материалов?