Человек спросил что переопределить, я ответил :) А переопределять класс или процессор писать - это уже другой вопрос, и он совершенно имеет место быть. На усмотрение человека.

Хотя да, в данном случае логичнее было бы просто накидать процессор.

Ну вообще это распространённая практика переопределять методы в классах работы с базой данных, даже тот же migxdb использует этот подход.

Расширяй процессор MIGXbd это делается не сложно и не к чему трогать объекты xpdo

Ну, я думаю, что этот - самый подходящий. Он именно тогда, когда объект (его данные) берется из БД, а не когда новый создается или типа того.

Да, собственно вопрос и был в том КАКОЙ метод лучше переопределить )

Хорошо, это "ваш" класс, раз вы ему переопределили метод save(). Так что вам мешает тогда, к примеру, переопределить метод _loadInstance()? Типа так: public static function _loadInstance(& $xpdo, $className, $criteria, $row) {

$instance = parent::_loadInstance($xpdo, $className, $criteria, $row);

/*

    some code, for example $instance->set('foo', $foo);

*/

return $instance;

}

Ну собственно был переопределён метод toArray, данный случай удовлетворяет, но если знаете лучшее место для добавления произвольных дынных - буду признателен если расскажите.

Нет, к сожалению процессор это не то о чём я подумал - не подходят.