Использование макроса [VAR] в шаблоне повторяющихся границ парсинга

Тема в разделе "Макросы шаблона вывода", создана пользователем rusalex, 1 дек 2019.

Метки:
  1. rusalex

    rusalex Active Member Пользователи

    Регистрация:
    22 мар 2018
    Сообщения:
    133
    Город:
    Kiev
    Здравствуйте. Подскажите с макросом [VAR]
    Такая конфигурация в повторяющейся границе парсинга, - это фотографии, которые нужно скачать и в возрастающем порядке включить в html страницы

    [DFN][TOTRANSLITE:regdown,clear,convertspaces]<CD_GRAN_3!>[/TOTRANSLITE][/DFN]
    [VAR]
    [SET:name1]<DOWNLOADFILE>Ссылки недоступны для гостей
    [/VAR]
    <a href="/img/..../[TOTRANSLITE:regdown,clear,convertspaces]<CD_GRAN_3!>[/TOTRANSLITE]/[VAR:name1]"><img class="alignnone" title="<CD_GRAN_3!>" src="/img/..../[TOTRANSLITE:regdown,clear,convertspaces]<CD_GRAN_3!>[/TOTRANSLITE]/m/[VAR:name1]" alt="<CD_GRAN_3!>" width="80" height="120" /></a>

    Где <CD_GRAN_3!> - имя

    В такой конфигурации скачивает все фото по одному, но выводи одно и тоже имя в 10 или 20 фотографий

    <a href="/img/..../sergej-smehov/sergej-smehov_1.jpg"><img class="alignnone" title="12345678" src="/img/.../sergej-smehov/m/sergej-smehov_1.jpg" alt="12345678" width="80" height="120" /></a>
    <a href="/img/..../sergej-smehov/sergej-smehov_1.jpg"><img class="alignnone" title="12345678" src="/img/tamada/sergej-smehov/m/sergej-smehov_1.jpg" alt="12345678" width="80" height="120" /></a>
    <a href="/img/..../sergej-smehov/sergej-smehov_1.jpg"><img class="alignnone" title="12345678" src="/img/..../sergej-smehov/m/sergej-smehov_1.jpg" alt="12345678" width="80" height="120" /></a>
    <a href="/img/.../sergej-smehov/sergej-smehov_1.jpg"><img class="alignnone" title="12345678" src="/img/..../sergej-smehov/m/sergej-smehov_1.jpg" alt="12345678" width="80" height="120" /></a>

    Как сделать, чтоб было все по очереди, вот так

    <a href="/img/..../sergej-smehov/sergej-smehov_1.jpg"><img class="alignnone" title="12345678" src="/img/.../sergej-smehov/m/sergej-smehov_1.jpg" alt="12345678" width="80" height="120" /></a>
    <a href="/img/..../sergej-smehov/sergej-smehov_2.jpg"><img class="alignnone" title="12345678" src="/img/tamada/sergej-smehov/m/sergej-smehov_2.jpg" alt="12345678" width="80" height="120" /></a> <a href="/img/..../sergej-smehov/sergej-smehov_3.jpg"><img class="alignnone" title="12345678" src="/img/..../sergej-smehov/m/sergej-smehov_3.jpg" alt="12345678" width="80" height="120" /></a>
    <a href="/img/.../sergej-smehov/sergej-smehov_4.jpg"><img class="alignnone" title="12345678" src="/img/..../sergej-smehov/m/sergej-smehov_4.jpg" alt="12345678" width="80" height="120" /></a>

    Подскажите? Дайте если есть ссылка или может другой макрос надо использовать?
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Цикл повторяющихся границ прошел, у вас много раз перезаписалась одна и та же переменная name1. Затем много раз одна и та же переменная вывелась.

    Вместо name1 пропишите [CC]

    Также не забывайте смотреть лог
    Ссылки недоступны для гостей
     
    rusalex нравится это.
  3. rusalex

    rusalex Active Member Пользователи

    Регистрация:
    22 мар 2018
    Сообщения:
    133
    Город:
    Kiev

    Спасибо!! Сделал как вы писали и все сразу заработало!!! Супер.
     
    Root нравится это.
  4. rusalex

    rusalex Active Member Пользователи

    Регистрация:
    22 мар 2018
    Сообщения:
    133
    Город:
    Kiev

    Подскажите как вывести в том же повторяющейся границе значение alt="<CD_GRAN_3!> - это {профессионал|мастер|опытный|лучший|мега мастер}" в title="" (скопировать его)?

    Пробую через тот же макрос [VAR]
    [VAR][SET:name2]<CD_GRAN_3!> - это {профессионал|мастер|опытный|лучший|мега мастер}[/SET][/VAR]
    [DFN][TOTRANSLITE:regdown,clear,convertspaces]<CD_GRAN_3!>[/TOTRANSLITE][/DFN][VAR][SET:name1]<DOWNLOADFILE>Ссылки недоступны для гостей[/VAR]<a href="/img/..../[TOTRANSLITE:regdown,clear,convertspaces]<CD_GRAN_3!>[/TOTRANSLITE]/[VAR:[CC]]"><img class="alignnone" title="[SET:name2]" src="/img/..../[TOTRANSLITE:regdown,clear,convertspaces]<CD_GRAN_3!>[/TOTRANSLITE]/m/[VAR:[CC]]" alt="[SET:name2]" width="80" height="120" /></a>

    Выводит одно и тоже имя, если также встсаляю Вместо name1 пропишите [CC], то дублирует первый [VAR]

    Смотрел лог, ничего не нашел. Подскажите может другой макрос использовать или еще что-то?
     
    Последнее редактирование: 2 дек 2019
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Вместо name2 пропишите b[CC].
     
    rusalex нравится это.
  6. rusalex

    rusalex Active Member Пользователи

    Регистрация:
    22 мар 2018
    Сообщения:
    133
    Город:
    Kiev
    Супер! Сделал как вы сказали, все работает. Большое спасибо! Не перестаю восхищаться вашей программой и поддержкой!
     
    Root нравится это.
  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пожалуйста

    Обращайтесь
     
  8. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    У меня похожий вопрос. Тоже пробую через [VAR] и получаю те же проблемы. [CC] не подходит, т.к. сбрасывается при парсинге следующей ссылки. Нужен какой-то счетчик, который бы считал циклы повторок, но не сбрасывался бы при парсинге следующей ссылки.
     
  9. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    В общем, еще раз об этом же но другими словами.

    Неправильный код: [VAR][SET:name1]Текст[INT_ID][/SET][/VAR][VAR:name1][CSVCS][VAR:name1]
    Правильный код: [VAR][SET:name[CC]]Текст[INT_ID][/SET][/VAR][VAR:name[CC]][CSVCS][VAR:name[CC]]

    Суть в том, что в первом варианте перед выводом перезаписывается одна и та же переменная и выводится последнее записанное значение, а во втором варианте под каждый цикл создается отдельная переменная с уникальным именем по номеру цикла ([CC]) и в каждой строке выводится значение переменной с именем (номером) конкретного цикла.
     
    rusalex нравится это.
  10. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Мне надо вывести переменную [VAR:name[CC]] из повторяющейся границы в шаблон вывода, а в результаты попадает только ]. Переменная определяется корректно. Если сделать вывод переменной в окне повторяющейся границы и вывести значение повторки в шаблон вывода через <CD_CYCLE_GRAN_1!>, то в результатах значение переменной отображается как надо. Что я делаю не так?

    UPD Выяснилось, что выводить взятую переменную надо не через [VAR:name[CC]], а через [VAR:name[COUNT]].
    Наводка на мысль тут: Ссылки недоступны для гостей
     
    Последнее редактирование: 25 янв 2021
  11. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Приложите проект, где проблема с [CC].

    У меня с этим все нормально.
     
  12. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 10000 постов.**
    Там переменная берется во 2й повторке, а вставляется поиском/заменой внутри 9й границы. При вставке счетчик циклов [CC] почему-то не сработал и пришлось использовать [COUNT] как в инструкции, на которую ссылался в предыдущем посте (см. UPD).
     

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