Exemplo n.º 1
0
 public function setObject($object)
 {
     try {
         if ($object->getSolrIgnore() == 1) {
             throw new DMC_Solr_Model_Catalog_Product_Exception('The cms page #' . $object->getId() . ' was ignored');
         }
         parent::setObject($object);
         Mage::helper('solr/log')->addDebugMessage('Add CMS Page #' . $object->getId() . ' to index of store ' . $this->getStoreId());
         $staticFields = DMC_Solr_Model_SolrServer_Adapter_Cms_TypeConverter::getStaticFields();
         foreach ($staticFields as $key => $defaultValue) {
             $methodName = '_get_value_' . $key;
             if (method_exists($this, $methodName)) {
                 $value = $this->{$methodName}($object);
             } elseif (is_null($defaultValue)) {
                 continue;
             } else {
                 $value = $defaultValue;
             }
             if (is_array($value)) {
                 foreach ($value as $datum) {
                     $this->setMultiValue($key, $datum);
                 }
             } else {
                 $this->_fields[$key] = $value;
             }
         }
     } catch (DMC_Solr_Model_Catalog_Product_Exception $e) {
         Mage::helper('solr/log')->addDebugMessage($e->getMessage());
         return false;
     }
     return true;
 }