Как решение, которое работает идеально: вы можете расширить varien_event_observer, создать собственную функцию автозагрузчика и, используя событие controller_front_init_before, поместить этот автозагрузчик перед стеком __autoload.этот пример интеграции диспетчера событий солярия и симфонии может объяснить это:
class JeroenVermeulen_Solarium_Model_Observer_Autoloader extends Varien_Event_Observer {
/**
* This an observer function for the event 'controller_front_init_before'.
* It prepends our autoloader, so we can load the extra libraries.
*
* @param Varien_Event_Observer $event
*/
public function controllerFrontInitBefore( $event ) {
spl_autoload_register( array($this, 'load'), true, true );
}
/**
* This function can autoloads classes starting with:
* - Solarium
* - Symfony\Component\EventDispatcher
*
* @param string $class
*/
public static function load( $class )
{
if ( preg_match( '#^(Solarium|Symfony\\\\Component\\\\EventDispatcher)\b#', $class ) ) {
$phpFile = Mage::getBaseDir('lib') . '/' . str_replace( '\\', '/', $class ) . '.php';
require_once( $phpFile );
}
}
}
и, конечно, ваши библиотеки должны быть в пуле библиотек!это решение предоставлено @Jeroen Vermeulen, и я благодарю его:)