Можно ли использовать данные с <CD_DOCURL!> (порядок выполнения макросов)

Тема в разделе "Разное", создана пользователем Andrijr, 22 мар 2018.

  1. Andrijr

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

    Регистрация:
    15 фев 2017
    Сообщения:
    32
    Интересует вопрос можно ли использовать данные с <CD_DOCURL!> при автоматическом парсинга в базу данных

    URL состоит из различных частей пример Ссылки недоступны для гостей

    в случае если <CD_GRAN_1!> оказался пустым то использовать данные с <CD_DOCURL!> но только часть 00223

    как это можно реализовать

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

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    401
    Добрый день.
    Должно получиться что-то вроде этого. Под рукой программы нет для проверки. Проверяйте порядок выполнения макроса replace с помощью лога.
    Код:
    [IFNILL]<CD_GRAN1>[ELSE][REPLACE(/{get}|{get}[REV])]<CD_DOCURL!>[/REPLACE][/IFNILL]
    Вместо [IFNILL] можно использовать [CHECKENTRY]
     
  3. Andrijr

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

    Регистрация:
    15 фев 2017
    Сообщения:
    32
    Спасибо за совет!
    но не работает
    выдает
    %5BIFNILL%5D%5BELSE%5D999700%5B/IFNILL%5D

    нужно убрать %5BIFNILL%5D%5BELSE%5D и %5B/IFNILL%5D а только оставить 999700

    подскажите пожалуйста
     
  4. Root

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

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

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

    Существует несколько макросов PHP_SCRIPT, которые одинаково работают, только имеют разный порядок выполнения.

    Выберите вариант с более поздним выполнением относительно других макросов:
    2018-03-22_19-34-35.png
     
  5. Andrijr

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

    Регистрация:
    15 фев 2017
    Сообщения:
    32
    Добрый день

    спасибо за помощь

    но у меня не работает
    [IFNILL]<CD_GRAN1>[ELSE][REPLACE(/{get}|{get}[REV])]<CD_DOCURL!>[/REPLACE][/IFNILL]
    поставил <PHP_SCRIPT_6=
    при отсутствие информации на <CD_GRAN1> выдает
    %5BIFNILL%5D%5BELSE%5D999327%5B/IFNILL%5D

    при наличии информации в <CD_GRAN1> выдает
    %5BIFNILL%5D091848%5BELSE%5D091848%5B/IFNILL%5D

    тоэсть замена не происходит

    в чом может быть проблема
     
  6. Root

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

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

    Макроса [IFNILL] нет. Есть макрос [IFNIL].
     
    xLime нравится это.
  7. Andrijr

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

    Регистрация:
    15 фев 2017
    Сообщения:
    32
    СПАСИБО!!!!
    РАБОТАЕТ!!!
     
    Root нравится это.
  8. Root

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

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

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