На моменте создания проекта

А хардкод, потому что при обновлении пакета shopModx эти изменения затрутся. Да с этим не поспоришь..

Не все так просто. Тут слишком много тонкостей.

  1. Не будет просто так инициироваться новый класс, для этого надо будет обновить все class_key в базе данных.
  2. У ShopmodxResourceProduct свои create- update- и т.п. процессоры. Они не будут просто так инициализироваться. Надо будет к этим процессорам создавать новые расширяющие. И еще куча всего. А хардкод, потому что при обновлении пакета shopModx эти изменения затрутся. Но если для себя задокументировать, то не долго потом восстановить. А на фрондэнде это никак не скажется, так что ошибок каких-то серьезных не будет.

Почему хардкор то сразу, вполне понятно, было бы оптимально сделать класс ShopmodxResourceProduct переопределяемым через option залепил свой класс с фиксами унаследовался от ShopmodxResourceProduct и переназначал в option.

А, еще момент: была задача, надо было выводить артикулы туда же. У нас артикулы, как известно, хранятся в связанном объекте ShopmodxProduct. Вот такой код в итоге был: public function prepareTreeNode(array $node = array()) {

$node = parent::prepareTreeNode($node);

if($article = $this->Product->sm_article){

    $node['text'] = "[ {$article} ] {$node['text']}";

}

return $node;

}

Вариант Сергея очень лаконично выглядит, вот именно для таких задач смарти идеально подходит.

Хотелось бы узнать более детально механизм, как это сделать. Просто пишите новый топик, в котором описываете задачи, желательно предполагаемый бюджет и контакты. Мы и сами не раз подправляли чужие проекты, да и помимо нас тут ребята есть толковые.

Вот теперь все стало ясно, я сам понимаю, что такой сложности задание, я никак не потяну в ближайшее время. А делать тяп-ляп я не хочу, в одном из топиков я видел, что вы писали: "объявляйте проект". Хотелось бы узнать более детально механизм, как это сделать. На данном этапе я сделаю, что смогу без фильтра. Но в скором времени я хочу довести все до ума.