Просветите за мультикей

Тема в разделе "Thunder 3.X", создана пользователем bulov, 9 авг 2018.

  1. bulov

    bulov Новичок

    23 июл 2018
    2
    0
    Доброго времени суток!

    перелопатил весь форум, все доступные шаблоны, не могу понять как быть с мультикеем, Есть файл с ключами, каждая строка содержит ключ||описание1||описаниние2||...||описаниеN разделитель не принципиален. Какой код ставить в код шаблона? Как понимаю генератор сам берет из строки первую подстроку в кейворд (при разделителе ; ), но как вывести остальное? наиболее похожий нашел в фильмотеке, но там мультикей работает только в категории, с рандомом, и циклом...

    Код:
    <div class="row">
        {% set films_file =  settings.doc_root ~ '/templates/public/filmoteka/data/'~ category_films %}
        <!-- Беру 500 случайных фильмов из файла, название которого лежит в перемнной films_file-->
        {% set category_films = rand_str_from_file(films_file, 300) %}
        
        <!-- обхожу  в цикле все category_films -->
        {% for category_film in category_films %}
        
        <div class="col s12 m4 l2">
        
            <!-- Разделяю строку  category_film на подстроки -->
            {% set film = category_film|split (';') %}
            
          <div class="card">
            <div class="card-image">
            
                <!-- Вывожу третью подстроку -->
                <img src="{{film[2]}}">
                
            </div>
            <div class="card-content center" style="height: 120px;">
                <!-- Если включен режим ЧПУ -->
                {% if settings.pretty_urls == true %}
                            <h6><a href="{{settings.base_url}}film/{{film[0]|pretty_urlencode}}">{{film[0]}}</a></h6>
                {% else %}
                            <h6><a href="{{settings.base_url}}film/{{film[0]|url_encode}}">{{film[0]}}</a></h6>
                {% endif %}
                <!-- Вывожу вторую подстроку -->
                <p class="blue-grey-text darken-2">{{film[1]}}</p>
            </div>
            <div class="card-action center">
                <!-- Если включен режим ЧПУ -->
                {% if settings.pretty_urls == true %}
                            <a href="{{settings.base_url}}film/{{film[0]|pretty_urlencode}}"><i class="material-icons">video_library</i> Смотреть</a>
                {% else %}
                            <a href="{{settings.base_url}}film/{{film[0]|url_encode}}"><i class="material-icons">video_library</i> Смотреть</a>
                {% endif %}
                <br/><br/>
                <!-- Беру 2 случаный числа для отображения лайков-->
                {% set max = random(1000) %}
                {% set min = random(100) %}             
                <!-- Вывожу max позитивных лайков-->
                <a class="green-text"><i class="tiny material-icons">thumb_up</i> {{max}}</a>
                <!-- Вывожу min негативных лайков-->           
                <a class="red-text"><i class="tiny material-icons">thumb_down</i> {{min}}</a>
            </div>
          </div>
        </div>
        <!-- конец цыкла category_film -->
        {% endfor %}
    </div>
     
  2. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    525
    244
    Мужской
    Код:
    rand_str_from_file(переменная, 300)
    Берёт не первую, а рандомную строку и разделитель здесь не ";" а новая строка
    а вот
    Код:
    {% set film = category_film|split (';') %}
    уже режет каждую взятую строку по разделителю ";"

    Пример для одной строки без цикла
    например у тебя есть строка
    "купить телевизор||телевизор нужен чтобы его смотреть||Телевизор цветной марки "Хрюндиг"||Размер экрана 100500 метрофф"
    и ты положил её в переменную keys

    Код:
    {% set keys = rand_str_from_file(keyss_file, 1) %}
    затем порезал по разделителю

    Код:
    {% set key_split = keys|split ('||')  %}
    Соотв. у тебя в

    key_split[0] = "купить телевизор"
    key_split[1] = "телевизор нужен чтобы его смотреть"
    key_split[2] = "Телевизор цветной марки "Хрюндиг""
    key_split[3] = "Размер экрана 100500 метрофф"

    https://twigfiddle.com/xidsjf
     
    bulov нравится это.
  3. bulov

    bulov Новичок

    23 июл 2018
    2
    0
    Спасибо тебе добрый человек! :)
     

Поделиться этой страницей