catalogFill: фильтр категорий и доступ к полной ссылке

Сделал в таблице MIGX дополнительные поля:
category1 - название категории верхнего уровня
category2 - название подкатегории.
url - полная ссылка на товар

  1. Как при импорте записать туда значения категорий 1-го и 2-го уровней.
    Пытыюсь воспользоваться фильтром в конфиге, но не пойму как прописать категории

Для названия товара все понятно -> $output_arr['content']['pagetitle']
А вот как для категории не пойму.

//разбивка по столбцам при импорте и экспорте (content|tv|category)
$cf_config['content_row'] = array(
    array('Код',array('articul','content')),
    array('Категория',array(2,'category')),//2 - ID шаблона категории
    array('Подкатегория',array(2,'category')),//2 - ID шаблона подкатегории
    array('Наименование',array('pagetitle','content')),
    array('Описание',array('content','content')),
    array('Цена',array('price','content')),
    array('Ед. имз',array('unit','content'))
  );

как в фильтре обратиться к этому массиву -> array('Категория',array(2,'category'))

  1. Как в фильтре получить доступ к столбцу таблицы migx

  2. Как получить в фильтре значение полной ссылки. Пытался в фильтре прописать так:

 $output_arr['content']['url'] = $output_arr['content']['uri'];

не работает

как в фильтре обратиться к этому массиву -> array('Категория',array(2,'category'))

  1. Как в фильтре получить доступ к столбцу таблицы migx

  2. Как получить в фильтре значение полной ссылки. Пытался в фильтре прописать так:

 $output_arr['content']['url'] = $output_arr['content']['uri'];

не работает

Покопался в коде и нашел:

Данная строка вставляет в таблицу MIGX в поле category1 значение категории нулевого уровня

$output_arr['content']['category1'] =  $output_arr['category'][0][1]; 

а вот так вставляется значение 1 уровня, т.е. подкатегории:

 $output_arr['content']['category2'] =  $output_arr['category'][1][1];

Осталось ответить на 3 вопрос:

Как получить в фильтре значение полной ссылке.

Как в моем случае будет выглядеть функция, у меня таблица migx:
Вот мои настройки:
//Название класса таблицы товаров в БД
$cf_config['className'] = 'ShopContent';
//Название пакета таблицы товаров в БД
$cf_config['packageName'] = 'shop';
//Название поля ID родителя
$cf_config['parent_field'] = 'resource_id';

@Andchir сказал catalogFill: фильтр категорий и доступ к полной ссылке:

Как получить в фильтре значение полной ссылке.

https://rtfm.modx.com/revolution/2.x/developing-in-modx/other-development-resources/class-reference/modx/modx.makeurl

Эта функция выдает url из таблицы Ресурсов, а у меня таблица MIGX

Все я туплю. ссылку можно сформировать, просто добавим alias товара.
Как теперь мне узнать id категории в конфиге?

Как теперь мне узнать id категории в конфиге?

Видимо так

$output_arr['content']['resource_id'];

Andchir - Огромное спасибо.
$output_arr['content']['resource_id']; - не работает
Сделал по другому.
Немного передел catalogfill.class.php

добавил вот такие строчки:

$tempArr['content']['url'] = $this->makeAlias($tempArr['category'][0][1]).'/'.$this->makeAlias($tempArr['category'][1][1]);
$tempArr['content']['url'] = preg_replace('/-{2,}/','-',$tempArr['content']['url']); //Удаляем дублирующие дефисы

А потом в фильтре формирую вот такую ссылку:

 $output_arr['content']['url'] ='/catalog/'.$output_arr['content']['url'].'/'.$output_arr['content']['articul'].'.html';

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