Index: branches/5.2.x/core/units/categories/categories_event_handler.php =================================================================== diff -u -N -r14719 -r14736 --- branches/5.2.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 14719) +++ branches/5.2.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 14736) @@ -1,6 +1,6 @@ SetDBField('ResourceId', $this->Application->NextResourceId()); } } + + /** + * Occurs before an item has been cloned + * Id of newly created item is passed as event' 'id' param + * + * @param kEvent $event + * @return void + * @access protected + */ + protected function OnBeforeClone(&$event) + { + parent::OnBeforeClone($event); + + $object =& $event->getObject(); + /* @var $object kDBItem */ + + $object->SetDBField('ResourceId', 0); // this will reset it + + } } \ No newline at end of file Index: branches/5.2.x/core/kernel/db/cat_event_handler.php =================================================================== diff -u -N -r14726 -r14736 --- branches/5.2.x/core/kernel/db/cat_event_handler.php (.../cat_event_handler.php) (revision 14726) +++ branches/5.2.x/core/kernel/db/cat_event_handler.php (.../cat_event_handler.php) (revision 14736) @@ -1,6 +1,6 @@ Application->GetVar('ResetCatBeforeClone') ) { - $object =& $event->getObject(); - /* @var $object kDBItem */ + $object =& $event->getObject(); + /* @var $object kDBItem */ + $object->SetDBField('ResourceId', 0); // this will reset it + + if ( $this->Application->GetVar('ResetCatBeforeClone') ) { $object->SetDBField('CategoryId', null); } }