Не могу передать значение границы парсинга в PHP_SCRIPT

Тема в разделе "Макросы шаблона вывода", создана пользователем ITz, 20 май 2021.

  1. ITz

    ITz Member Пользователи

    Регистрация:
    31 янв 2020
    Сообщения:
    43
    Город:
    Third Rome
    Всем привет!

    имется два почти одинаковых кода PHP_SCRIPT выполняются один за другим, первый PHP_SCRIPT запускается и передает через [APPENDDOCSOURCE] в заданную обычную границу парсинга значение, проблема с передачей этого значения во второй PHP_SCRIPT пробовал его подсовывать и границей <CD_GRAN_1!> и через VAR (он вообще не работает) и через VARF, который работает но выводит значение моей границы только после выполнения второго PHP_SCRIPT'а а мне нужно передать по сути полученное значение из результата работы первого PHP_SCRIPT во второй, а затем уже обработать полученный итоговый текст разпарсив его дополнительно по границам..

    p.s. также может кто подскажет как возвращать результат выполнения PHP_SCRIPT'a в границы парсинга без APPENDDOCSOURCE.....
     
  2. Root

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

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

    Вот тут Ссылки недоступны для гостей посмотрите, какие макросы выполняются в [APPENDDOCSOURCE].

    Там обратите внимание на:
    1) макросы границ парсинга

    2) [DOCSOURCE]

    3) <CD_DOCURL!>

    4) [PARAM]

    5) [COOKIES]

    6) [CUSTOMHEADERS]

    7) [FILE]

    8) <PHP_SCRIPT_0>

    9) [VAR]

    10) [CD_DATE]

    11) [CHECKENTRY]

    12) [REPLACE]

    13) [CHECKEDNTRY2]

    14) <GETMORECONTENT>

    15) [BEFORE_IMG_REPLACE]

    16) <PHP_SCRIPT>

    17) [FINAL_REPLACE]

    Сначала выполняется макрос <PHP_SCRIPT_0>, затем <PHP_SCRIPT>. Вы можете вложить макрос <PHP_SCRIPT_0> в <PHP_SCRIPT> для подгрузки нужных данных и использовании их в <PHP_SCRIPT>.
     
    kagorec нравится это.
  3. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Также в макросах PHP_SCRIPT есть параметр REPLACE
    Код:
    <PHP_SCRIPT=[UTF-8]>
    <HEADERS></HEADERS>
    <REPLACE>...</REPLACE>
    data=[FIELDVALUE][/FIELDVALUE]
    </PHP_SCRIPT>
    Поместите в параметр правила поиск-замены для обработки результата.

    И обратите внимание на этот материал Ссылки недоступны для гостей
     
    kagorec нравится это.
  4. ITz

    ITz Member Пользователи

    Регистрация:
    31 янв 2020
    Сообщения:
    43
    Город:
    Third Rome
    с этим все понятно было изначально, поэтому конструкция и была построена php_script_0 следом обычный php_script

    да вложение работает но все же хотелось получше узнать в какое конкретное место лучше втыкать вложение я вставил после headers все работает

    но самое главное данные по прежнему не передаются( ни в заданную границу парсинга ни из одного скрипта в другой, нужен рабочий пример, свой выложить не могу, по определенным причинам..

    речь идет о выполнении двух php скриптов с post запросами по очереди, после выполнения первого php скрипта c post запросом получаем код ответа, в нем через границы парсинга задаем границы со значением нужного ids и подставляем это значение в другой php скрипт с post запросом, дальше полученный ответ нужно также распарсить.. сами ссылки post запросов немного разные но все идут на один сайт, попробовал задать [GETHTML]:[0]'ids': [|||[0]] в <REPLACE>...</REPLACE> в первом php скрипте, и после этого он получает нужное значение ids

    у меня первый php скрипт возвращает правильный код от post запроса, но почему то не передает её в заданную границу парсинга, ни через VAR,VARF второго php скрипта, что очень странно, как можно обернуть GETHTML макрос внутри VARF макроса для использования его далее?

    накидал простой код на питоне для проверки - схема асболютно рабочая, а вот почему в cd это сделать не получается не понимаю(
     
    Последнее редактирование: 26 май 2021

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