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; }