Index: trunk/core/units/general/cat_event_handler.php =================================================================== diff -u -r3635 -r3698 --- trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3635) +++ trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3698) @@ -536,9 +536,25 @@ function OnAfterItemUpdate(&$event) { $this->CalculateHotLimit($event); + + if ( substr($event->Special, -6) == 'import') { + $this->setCustomExportColumns($event); + } } /** + * sets values for import process + * + * @param kEvent $event + */ + function OnAfterItemCreate(&$event) + { + if ( substr($event->Special, -6) == 'import') { + $this->setCustomExportColumns($event); + } + } + + /** * Makes simple search for products * based on keywords string * @@ -1423,15 +1439,16 @@ } // db fields - $fields = array_keys($object->Fields); - foreach ($fields as $field_name) + foreach ($object->Fields as $field_name => $field_options) { if (!$object->SkipField($field_name)) { - $available_columns[$field_name] = $field_name; + $available_columns[$field_name] = $field_name.(getArrayValue($field_options, 'required') ? '*' : ''); } } + $available_columns = array_merge_recursive2($available_columns, $this->getCustomExportColumns($event)); + // custom fields $fields = array_keys($object->CustomFields); foreach ($fields as $field_name) @@ -1486,7 +1503,27 @@ } } + /** + * Returns specific to each item type columns only + * + * @param kEvent $event + * @return Array + */ + function getCustomExportColumns(&$event) + { + return Array(); + } + /** + * Sets non standart virtual fields (e.g. to other tables) + * + * @param kEvent $event + */ + function setCustomExportColumns(&$event) + { +// $object =& $event->getObject(); + } + // ImportLocalFilename function getExportField($field_key)