Как сделать перелинковку на жанры?

Bad Gateway

Местный житель
Клиент
Сообщения
42
Реакции
6
Как при просмотре полной новости сделать жанры ссылкой как в дле?
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
Файл track.tpl, после {foreach $track.genres as $genre} вставить:
HTML:
{$genre === "genre_name"}
<a href="/genre/genre_link">genre_name</a>
{/if}
Где genre_name - название нужного жанра.
 

Grey

Ветеран
Клиент
Сообщения
101
Реакции
10
А на 3-ей версии как сделать такое?
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
@Vika, Этот способ и предназначен для 3-ей версии.
 

Mad

Местный житель
Клиент
Сообщения
26
Реакции
2
@MSE-Script, как минимум на стандартных шабах в 3-ей версии не получается реализовать, в них на странице трека нету поля с жанром, попытался добавить поле самостоятельно, в итоге сайт ложится
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
в итоге сайт ложится
Создайте в корень пустой файл DEV и увидите причину.

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

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
@Mad, Ошибка появится на странице вместо "белого экрана". Файл DEV включает режим отладки.
 

Mad

Местный житель
Клиент
Сообщения
26
Реакции
2
@MSE-Script, тогда какая-то странность получается, после размещения в корне файла DEV, сайт перестал падать. Наверно лучше опишу, что делаю, для шаблона miniblue в файле track.tpl добавляю вот такой код - http://prntscr.com/m5c6h1. В режиме отладки сайт не падает, но и поле с жанром на странице трека не появляется.
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
@Mad, Код лучше копировать сразу сюда и оборачивать соответствующим тегом.

В коде лишний тег {$track.genres}, вы пытаетесь вывести массив внутри итерации этого же массива :)
Если вам нужно название трека, то используйте тег {$genre}.
 

Mad

Местный житель
Клиент
Сообщения
26
Реакции
2
@MSE-Script
Код лучше копировать сразу сюда и оборачивать соответствующим тегов.
Окей, понял)

Если вам нужно название трека, то используйте тег {$genre}.
То есть код должен выглядеть так?
Код:
{foreach $genre}
         <span class="full-track__info-item">
            <span class="full-track__info-item-name _hide-to-mobile">Жанр: </span>
            <span class="full-track__info-item-content">{$genre}</span>
         </span>
         {/foreach}
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
@Mad,
PHP:
{foreach $track.genres as $genre}
    <span class="full-track__info-item">
        <span class="full-track__info-item-name _hide-to-mobile">Жанр: </span>
        <span class="full-track__info-item-content">{$genre}</span>
    </span>
{/foreach}
 

Mad

Местный житель
Клиент
Сообщения
26
Реакции
2
@MSE-Script, разместил код, но поле с жанром на странице трека так и не появилось, кэш сбрасывал
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
Значит у текущего трека жанр не указан.
 

Mad

Местный житель
Клиент
Сообщения
26
Реакции
2
@MSE-Script, можно как-то еще сделать вывод жанра на самой странице трека, другим путем? Если посмотреть на страницу трек-листа, то там жанры выводятся, но на странице трека ни в какую не хочет

1547198794499.png
 

MSE-Script

Developer
Команда форума
Сообщения
867
Реакции
309
@Mad, Данные треклиста и отдельного трека парсятся отдельными методами. Обновил парсер данных для отдельного трека, скопируйте файл в папку App, очистите кэш скрипта и проверьте результат.

1547198630731.png
 

Вложения

  • Like
Реакции: Mad
Сверху