смещение характеристик в csv при использовании макроса [DYNAMICVALUES]

Тема в разделе "Макросы шаблона вывода", создана пользователем marat, 2 сен 2017.

  1. marat

    marat New Member Пользователи

    Регистрация:
    2 сен 2017
    Сообщения:
    10
    Город:
    москва
    Подскажите, как можно спарсить все характеристики в файл csv, без смещения столбцов, при использовании макроса [DYNAMICVALUES]. Проблема в том, что на искомом сайте те или иные характеристики периодически отсутствуют ( их может не быть вообще на одной карточке товара, а на другой до 15 штук). Если парсить по одной карточке- все замечательно. А вот сайт целиком- проблема- этот макрос выстраивает очередь характеристик по мере появления в следующих карточках. В итоге, в готовом файле, значения находятся не под названиями характеристик, а правее на несколько столбцов, в пустом поле. Подозреваю, что этот макрос подходит только для сайтов с четко структурированным перечнем характеристик, т.е. даже при отсутствии значений, название характеристики все равно прописано, а значение равно "-", например. Верно ли подозрение? Если ошибаюсь, подскажите пожалуйста, как можно решить эту задачу или где искать решение!
     
  2. Root

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

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

    Прочтите важное примечание 3 вот тут Ссылки недоступны для гостей

    С уважением к вам, Сергей.
     
  3. marat

    marat New Member Пользователи

    Регистрация:
    2 сен 2017
    Сообщения:
    10
    Город:
    москва
    Прочитал!
    Но есть одно но- это уже наличие в конце строки<CD_CYCLE_GRAN_1!> , внутри которого <DOWNLOADFILE>[VALUE]</DOWNLOADFILE>, т.е. подгружаются картинки, количество которых тоже плавающее. Может быть посоветуете поменять местами? Или может есть совсем другое решение? Я уже начал пробовать просто выводить характеристики по одной, через границы парсинга, но тут тоже есть ограничение- их всего 20, и их явно не хватает!
     
  4. marat

    marat New Member Пользователи

    Регистрация:
    2 сен 2017
    Сообщения:
    10
    Город:
    москва
    На всякий случай весь код:
    <CD_GRAN_1!>[CSVCS]<CD_GRAN_2!>[CSVCS]<CD_GRAN_3!>[CSVCS]<CD_GRAN_4!>[CSVCS][DYNAMICVALUES][REPLACE(</b> : |[VALUE]:{break}</p><p><b>|[NEXTPAIR]{break}</p>|)]<CD_CYCLE_GRAN_2!>[/REPLACE][/DYNAMICVALUES][CSVCS]<CD_GRAN_10!>[CSVCS]<CD_GRAN_11!>[CSVCS]<CD_GRAN_12!>[CSVCS]<CD_CYCLE_GRAN_1!>
     
  5. Root

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

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

    QuZ New Member Пользователи

    Регистрация:
    28 янв 2012
    Сообщения:
    32
    Спасибо, но я чуть поясню, почему отслуживаю тему.
    Периодически приходится парсить и с фотографиями, которые выводить надо в отдельные столбцы (кол-во фото варьируется) и к примеру уровень товара ( подразделы), которые тоже выводятся в отдельные столбцы ( к примеру - Обувь[CSVCS]Для детей[CSVCS]Тапочки
    При этом, данные границы тоже являются плавающими.

    Понимаю, что можно потом разбить по служебным тегам в редакторе CSV файлов, но как-то не очень удобно. Не знаю как, но было бы удобно иметь какой-то макрос минимального отступа от начала строки, а как-то резервировать места, понимаю, что не выйдет.

    Да, Спасибо. Тоже забыл указать данный вариант, но он только для повторяющихся границ.
     
  7. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Facepalm-cat.jpg

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

    QuZ New Member Пользователи

    Регистрация:
    28 янв 2012
    Сообщения:
    32
    С повторяющимися границами - все ясно. Там все просто). Хотя, бить не повторяющиеся на разные столбцы уже перестал давно, но по памяти помню, что вот тогда был геморой полный).
    Но не суть.. Сейчас вспомнил основное, что забыл спросить, но хотел знать. У меня на сайте идет 2-ве таблицы с характеристиками, которую я не могу объединить заменой в исходнике. Следовательно, хочу сделать 2-ва [DYNAMICVALUES]. Вчера проверял - вроде работало. Но сейчас я понял, что у меня кол-во атрибутов товара в первой колонке и второй не одинаково. И то, что вчера оно работало с структуризированной таблицей с определенным кол-вом параметров, то сейчас все должно поехать? И Если нет - То какой алгоритм работы? Если у меня в одном [DYNAMICVALUES] есть параметр Сила тока и во втором есть Сила тока, то каждый динамиквалуис создаст свой столбец такой?
     
  9. marat

    marat New Member Пользователи

    Регистрация:
    2 сен 2017
    Сообщения:
    10
    Город:
    москва
    Программой пользуюсь 2-й день, и многое не кажется простым)
    В общем, в итоге поменял местами: <CD_CYCLE_GRAN_1!> с изображениями поставил перед [DYNAMICVALUES], в изображениях число циклов (ctrl+5) настроил на 15, а в шаблоне вывода настолько же сдвинул наименование характеристик, И ВСЕ ЗАРАБОТАЛО! Правда не совсем в той последовательности, как хотелось бы, но все-же !
     
    Root нравится это.
  10. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Возвращаемся с вами опять к тому же хелпу Ссылки недоступны для гостей и читаем в нем важное примечание 2.
     
    QuZ нравится это.

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