예제 #1
0
 /**
  * Link imported products to profile.
  * @param Varien_Event_Observer $observer
  * @throws Zend_Db_Exception
  */
 public function linkProductsToProfile(Varien_Event_Observer $observer)
 {
     /** @var AvS_FastSimpleImport_Model_Import_Entity_Product $adapter */
     $adapter = $observer->getAdapter();
     /** @var $coreResource Mage_Core_Model_Resource */
     $coreResource = Mage::getSingleton('core/resource');
     $entityProfileTable = $coreResource->getTableName('ho_import/entity');
     $entityTypeId = $adapter->getEntityTypeId();
     $now = Mage::helper('ho_import')->getCurrentDatetime();
     while ($bunch = $adapter->getNextBunch()) {
         $entityProfileData = array();
         foreach ($bunch as $rowNum => $rowData) {
             if ($adapter->getRowScope($rowData) !== Mage_ImportExport_Model_Import_Entity_Product::SCOPE_DEFAULT) {
                 continue;
             }
             if (!isset($rowData['ho_import_profile'])) {
                 continue;
             }
             $entity = $adapter->getEntityBySku($rowData[$adapter::COL_SKU]);
             $entityProfileData[] = array('profile' => $rowData['ho_import_profile'], 'entity_type_id' => $entityTypeId, 'entity_id' => $entity['entity_id'], 'updated_at' => $now, 'created_at' => $now);
         }
         if ($entityProfileData) {
             $adapter->getConnection()->insertOnDuplicate($entityProfileTable, $entityProfileData, array('updated_at'));
         }
     }
 }
예제 #2
0
 /**
  * Add a new filter to the the Twig instance
  *
  * @param Varien_Event_Observer $observer
  */
 public function addSortArray($observer)
 {
     $twig = $observer->getTwig();
     $policy = $observer->getPolicy();
     $this->_adapter = $observer->getAdapter();
     $policy->setAllowedFilter('sort_array');
     $filter = new Twig_SimpleFilter('sort_array', array($this, 'sortArray'));
     $twig->addFilter($filter);
 }
예제 #3
0
 /**
  * Add a new filter to the the Twig instance
  *
  * @param Varien_Event_Observer $observer
  */
 public function addUnserializeString($observer)
 {
     $twig = $observer->getTwig();
     $policy = $observer->getPolicy();
     $this->_adapter = $observer->getAdapter();
     $policy->setAllowedFilter('unserialize_string');
     $filter = new Twig_SimpleFilter('unserialize_string', array($this, 'unserializeString'));
     $twig->addFilter($filter);
 }