catalogfill импорт и вывод через getResource

После импорта вывожу ресурсы через сниппет getResource. Часть ресурсов выводиться, а часть игнорируется, но если выбрать тот ресурс который не вывелся изначально и пересохранить его, то после этого он выведется через сниппет. Короче загадка)) не понятно почему часть ресурсов выводиться, а часть нет и больше всего непонятно, то что после пересохранения документа он появляется. Кеш чистил, результата не было, только пересохранение документа помогает, но это штучно и долго, хотелось бы предусмотреть это сразу же в catalogfill. Жду помощи!!!!

Файл конфигурации

<?php

//разбивка по столбцам при импорте и экспорте (content|tv|category)
$cf_config['content_row'] = array(
    array('ЖК',array(0,'tv')),
    array('Дом',array('pagetitle','content')),
    array('Подъезд',array(0,'tv')),
    array('Этаж',array(12,'tv')),
    array('Номер квартиры',array(9,'tv')),
    array('Id квартиры',array(34,'tv')),
    array('Кол-во комнат',array(25,'tv')),
    array('Полная стоимость, руб',array(13,'tv')),
    array('Стоимость кв.метра, руб',array(29,'tv')),
    array('Общая площадь, м2',array(11,'tv')),
    array('Площадь балкона, м2',array(0,'tv')),
    array('Жилая площадь, м2',array(0,'tv')),
    array('Площадь кухни, м2',array(0,'tv')),
    array('Куда выходят окна',array(30,'tv')),
    array('Кол-во лоджий',array(0,'tv')),
    array('Кол-во балконов',array(0,'tv')),
    array('Кол-во смежных санузлов',array(0,'tv')),
    array('Кол-во раздельных санузлов',array(0,'tv')),
    array('Номер помещения по БТИ',array(0,'tv')),
    array('Номер на площадке',array(0,'tv')),
    array('Общая площадь по БТИ',array(0,'tv')),
    array('Код планировки',array(14,'tv')),
    array('Студия',array(0,'tv')),
    array('Свободная планировка',array(0,'tv')),
    array('Статус',array(10,'tv'))
);

//значения по умолчанию при импорте или проверка при экспорте
$cf_config['imp_content_default'] = array(
    'content' => array(
        'deleted' => 0,
        'published' => 1,
        'template' => 3
    ),
    'tv' => array(
        //7 => 0
    )
);

//первая строка - названия полей
$cf_config['include_captions'] = true;

//число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать.
$cf_config['batch_import'] = 0;

//разбивать по категориям
$cf_config['include_categories'] = false;

//удалять дочерние категории при очистке и обновлении каталога
$cf_config['delete_subcategories'] = true;

//по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении).
$cf_config['imp_chk_field'] = false;

//проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении).
$cf_config['imp_chk_tvid_val'] = 34;

//Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field)
$cf_config['imp_if_not_exist'] = true;

//удалять HTML-теги при экспорте
$cf_config['exp_strip_tags'] = true;

//автоматически генерировать псевдоним (alias) при импорте
//false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит.
$cf_config['imp_autoalias'] = true;

//Изменить значения поля для всех вложенных товаров до начала импорта.
//Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе.
//первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым)
$cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены

//удалить файл после экспорта (скачивания)
$cf_config['exp_delete_file'] = false;

//кодировка CSV-файла при экспорте
$cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251'

//Импортировать (обновлять) пустые значения
$cf_config['imp_empty'] = true;

//Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import".
$cf_config['imp_custom_processor'] = '';

//путь (xpath) в XML структуре до товаров
$cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers';

//Структура XML файла для импорта
$cf_config['imp_xml_structure'] = <<<EOF
<Good>
    <Kod>tv8</Kod>
    <Name>pagetitle</Name>
    <Options>
        <Stock>tv5</Stock>
        <Image>tv2</Image>
    </Options>
    <Prices>
        <RegularPrice>tv1</RegularPrice>
        <OldPrice>tv20</OldPrice>
    </Prices>
</Good>
EOF;

//тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок.
$cf_config['imp_testmode'] = false;

//функция для фильтрации значений при ИМПОРТЕ
function filter_import($value_arr){
    $output_arr = $value_arr;
    
    if(isset($output_arr['tv']['13'])) {
        $output_arr['tv']['13'] = preg_replace("/[^0-9]/",'',$output_arr['tv']['13']);
	}
    if(isset($output_arr['tv']['29'])) {
        $output_arr['tv']['29'] = preg_replace("/[^0-9]/",'',$output_arr['tv']['29']);
	}
    $output_arr['content']['alias'] = $output_arr['content']['alias'].'-'.$output_arr['tv']['9'].'-'.$output_arr['tv']['34'];
	
    return $output_arr;
}
?>
  1. Папку /core/cache чистили?
  2. Есть ли ошибки в Журнале ошибок или при очистке кэша в админке?
  3. Псевдонимы страниц нормально создаются при импорте?

@Andchir

  1. Чистил
  2. При чистке нету.
    - error.log
[2017-06-14 08:15:07] (ERROR @ /core/cache/includes/elements/modsnippet/31.include.cache.php : 15) PHP warning: Invalid argument supplied for foreach()

Ошибка в самописном снипете, но даже если его убрать, всё равно импорт не работает нормально

  1. Нормально создаются, все уникальные

Причин может быть много. Надо смотреть.
Вы можете создать локально ещё один сайт с чистым MODX и проверить импорт там.

@Andchir тестирую
Пока что заметил, что если удалить все добавленное кнопкой "Отчистить категорию", то кеш не чиститься и данные на сайте не удаляются хотя ресурсов уже нет

Кроме того что написал сообщением выше ошибок нет, всё как часы. Все ТВ параметры продублировал, файл конфигурации тот же, уже нет идей куда смотреть. Если есть догадки напишите пожалуйста

НАШЕЛ КОРЕНЬ ПРОБЛЕМ!!! Содержимое одного TV параметра почему-то не заполняется (тип вывода: одиночный список, возможные значени: Квартира свободна==2||Квартира забронирована==1||Квартира продана==0), в exel файле для этого ТВ передаются цифры 0 1 или 2 и вот они как раз-то не передаются, а точнее где-то передаются, а где-то нет О.о очень странно.

Кажись разобрался. В некоторых строках у меня указывается значение 0 и видимо скрипт его воспринимает как null и не передаёт. Прошу подсказать где изменить условие.!!!!

в exel файле для этого ТВ передаются цифры 0 1 или 2 и вот они как раз-то не передаются, а точнее где-то передаются, а где-то нет О.о очень странно.

Проверьте тип ячейки в Экселе. Должен быть текстовый тип.

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.