cancel
Showing results for 
Search instead for 
Did you mean: 

Integração com sistema Legado

Integração com sistema Legado

Boa tarde,

 

Estou tentando integrar o magento a um sistema que possuo. O problema é que no meu sistema eu utilizo ZEND DB. E está apresentando o ERRO:

 

 

Fatal error:  Cannot declare class Zend_Db_Profiler_Query, because the name is already in use in /usr/local/apache/htdocs/MAGENTO/lib/Zend/Db/Profiler/Query.php on line 8

 

 

Eu sei que isto acontece porque eu utilizo o ZEND DB e logo após faço a inclusão de uma classe do magento para utilizar e ela tb declara o ZEND DB.

 

Isto acontece somente nos casos em que eu tenho que realizar uma consulta no meu banco de dados e dps utiliziar o magento. Vejam abaixo:

 

 

public function processaAtualizaPreco() {
        
        $obj = new Tarifas; // É UM MODEL QUE UTILIZA ZEND DB
        
        $where[] = "nom_nome = '{$request['nome']}'";
        $where[] = "nom_idx REGEXP '{$request['idx']}[0-9][0-9]'";
        
        $dados = $obj->consulta(  implode(" AND ",$where)  )->getResultados();
        
        $result = MagentoExterno::updatePricePerStation($dados,$request['val_price']);
       

}

 

 

================================================================================================

MAGENTOEXTERNO:

 

 

class MagentoExterno {

 

    public static function updatePricePerStation( $data = array() ,$basePrice ){
        
        if ( empty($data) )
            return 0;
        
        include_once "/usr/local/apache/htdocs/MAGENTO/app/Mage.php";
        
        Mage::app(); // ========>>>>> AQUI APRESENTA O ERRO DESCRITO <<<<< =======

        $collection = Mage::getModel('catalog/product')->getCollection();
        $collection->addAttributeToSelect('*');
            
        
        foreach ($data as $kData => $vData) {
        
            $collection->addAttributeToFilter('er_railroad', array( 'eq'  => Mage::getResourceModel('catalog/product')
                    ->getAttribute('er_fare_code')
                    ->getSource()
                    ->getOptionId("{$vData['nom_nom']}") ) );
            
            $collection->load();
            
            foreach ($collection as $product) {
                    
                $_product = Mage::getModel('catalog/product')->load($product->getEntityId());

                $_product->setPrice($basePrice * $vData['val_indice']);
                
                $_product->save();
                $_product->clearInstance();
                    
                unset($_product);
    
            }
        
        }
        
    }
       
}

 

================================================================================================

 

 

Como eu poderia resolver este caso?

1 REPLY 1

Re: Integração com sistema Legado

Olá,

 

Pelo que entendi, já deves estás a carregar a Zend.

Ao incluíres o Mage.php estás a inicializar o magento, que carrega a zendframework.
Sugiro-te que não incluas a classe, mas sim cries um serviço e faças requests a esse serviço.

Problem solved? Click Accept as Solution!
Still stuck? Check out our documentation: http://magento.com/help/documentation