Использовать static:: вместо self:: в CSaleExport

Рейтинг: 5.4718  
Новая
Предложил Ерофеев Анатолий 09.01.2017 11:33:08

Использовать static:: вместо self:: в CSaleExport

Многим известен алгоритм кастомизации обмена с 1С.
  1. Создать свою страницу в админке
  2. Разместить на ней кастомный компонент обмена sale.export.1c
  3. Переписать \CSaleExport::ExportOrders2Xml
К сожалению, все вызовы в этом классе -- статические и делаются через self:: Например, ExportOrders2Xml вызывает getXmlContragents как self::getXmlContragents. То есть, если даже мы унаследуем класс CSaleExport и переопределим getXmlContragents (не трогая огромный ExportOrders2Xml) то вызываеться будет именно старая версия getXmlContragents.
Собственно идея: чтобы облегчить изменение этого класса все self:: вызовы достаточно заменить на static:: (LSB -- http://php.net/manual/ru/language.oop5.late-static-bindings.php)