1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Template Toolkit - перемешать строчки

Тема в разделе "Техническая поддержка", создана пользователем xadro, 16 июл 2015.

  1. xadro

    xadro A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    15 окт 2014
    Сообщения:
    2
    Симпатии:
    0
    Добрый день! Подскажите, пожалуйста, есть ли возможность рандомно перемешивать все строчки в каждом файле результата?

    Есть:
    snippet 1
    snippet 2
    snippet 3
    link 1
    link 2
    link 3

    Хотелось бы:
    snippet 2
    link 1
    link 3
    snippet 3
    snippet 1
    link 2

    И еще вопрос - можно ли выводить в каждом файле рандомное количество сниппетов или линков? Например, в одном файле 3 сниппета и 2 линка, в другом 6 сниппетов и 1 линк.

    Спасибо!
     
    #1 xadro, 16 июл 2015
    Последнее редактирование: 16 июл 2015
  2. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.557
    Симпатии:
    2.167
    1) Рандомно перемешивать скорее всего не получится, разве что выводить так:
    snippet 1
    link 1
    snippet 2
    link 2
    snippet 3
    link 3
    Код:
    $serp.format('$snippet\n$link\n')
    или так:
    [​IMG]

    link 1
    snippet 4
    link 2
    snippet 3
    link 3
    snippet 2
    link 4
    snippet 1
    Код:
    [% revserp = serp.reverse;
    i = 0;
    WHILE i < serp.size;
    serp.$i.link _"\n"_ revserp.$i.snippet _"\n";
    i = i + 1;
    END %]
    
    2) Можно:
    [​IMG]
    Код:
    [% USE Math; l = Math.int(Math.rand(serp.size)) + 1;
    s = Math.int(Math.rand(serp.size)) + 1;
    "Будет выведено " _ l _ " ссылок и " _ s _ " сниппетов\n\n";
    i = 0;
    WHILE i < l;
    serp.$i.link _"\n";
    i = i + 1;
    END;
    "---------\n";
    i = 0;
    WHILE i < s;
    serp.$i.snippet _"\n";
    i = i + 1;
    END %]
     
    Forbidden нравится это.

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