
Public Member Functions | |
| loadAttributeSets () | |
| getAttributeSetName ($entityTypeId, $id) | |
| getAttributeSetId ($entityTypeId, $name) | |
| loadAttributeGroups () | |
| getAttributeGroupName ($attributeSetId, $id) | |
| getAttributeGroupId ($attributeSetId, $name) | |
| loadProductTypes () | |
| getProductTypeId ($name) | |
| getProductTypeName ($id) | |
| getSourceOptionId ($source, $value) | |
| getProductAttributes () | |
| getProductCollectionAttributes () | |
| getAttributesUsedInProductListing () | |
| getAttributesUsedForSortBy () | |
| getAttributeUsedForSortByArray () | |
| getProductListDefaultSortBy ($store=null) | |
Public Attributes | |
| const | XML_PATH_LIST_DEFAULT_SORT_BY = 'catalog/frontend/default_sort_by' |
| const | XML_PATH_PRODUCT_COLLECTION_ATTRIBUTES = 'frontend/product/collection/attributes' |
Protected Member Functions | |
| _construct () | |
| _getResource () | |
Protected Attributes | |
| $_attributeSetsById | |
| $_attributeSetsByName | |
| $_attributeGroupsById | |
| $_attributeGroupsByName | |
| $_productTypesById | |
| $_productAttributes | |
| $_usedInProductListing | |
| $_usedForSortBy | |
Definition at line 28 of file Config.php.
| _construct | ( | ) | [protected] |
| _getResource | ( | ) | [protected] |
Retrieve resource model
Definition at line 256 of file Config.php.
00257 { 00258 return Mage::getResourceModel('catalog/config'); 00259 }
| getAttributeGroupId | ( | $ | attributeSetId, | |
| $ | name | |||
| ) |
Definition at line 153 of file Config.php.
00154 { 00155 if (is_numeric($name)) { 00156 return $name; 00157 } 00158 00159 $this->loadAttributeGroups(); 00160 00161 if (!is_numeric($attributeSetId)) { 00162 $attributeSetId = $this->getAttributeSetId($attributeSetId); 00163 } 00164 $name = strtolower($name); 00165 return isset($this->_attributeGroupsById[$attributeSetId][$name]) ? $this->_attributeGroupsById[$attributeSetId][$name] : false; 00166 }
| getAttributeGroupName | ( | $ | attributeSetId, | |
| $ | id | |||
| ) |
Definition at line 139 of file Config.php.
00140 { 00141 if (!is_numeric($id)) { 00142 return $id; 00143 } 00144 00145 $this->loadAttributeGroups(); 00146 00147 if (!is_numeric($attributeSetId)) { 00148 $attributeSetId = $this->getAttributeSetId($attributeSetId); 00149 } 00150 return isset($this->_attributeGroupsById[$attributeSetId][$id]) ? $this->_attributeGroupsById[$attributeSetId][$id] : false; 00151 }
| getAttributeSetId | ( | $ | entityTypeId, | |
| $ | name | |||
| ) |
Definition at line 105 of file Config.php.
00106 { 00107 if (is_numeric($name)) { 00108 return $name; 00109 } 00110 $this->loadAttributeSets(); 00111 00112 if (!is_numeric($entityTypeId)) { 00113 $entityTypeId = $this->getEntityType($entityTypeId)->getId(); 00114 } 00115 $name = strtolower($name); 00116 return isset($this->_attributeSetsByName[$entityTypeId][$name]) ? $this->_attributeSetsByName[$entityTypeId][$name] : false; 00117 }
| getAttributeSetName | ( | $ | entityTypeId, | |
| $ | id | |||
| ) |
Definition at line 92 of file Config.php.
00093 { 00094 if (!is_numeric($id)) { 00095 return $id; 00096 } 00097 $this->loadAttributeSets(); 00098 00099 if (!is_numeric($entityTypeId)) { 00100 $entityTypeId = $this->getEntityType($entityTypeId)->getId(); 00101 } 00102 return isset($this->_attributeSetsById[$entityTypeId][$id]) ? $this->_attributeSetsById[$entityTypeId][$id] : false; 00103 }
| getAttributesUsedForSortBy | ( | ) |
Retrieve Attributes array used for sort by
Definition at line 288 of file Config.php.
00288 { 00289 if (is_null($this->_usedForSortBy)) { 00290 $this->_usedForSortBy = array(); 00291 $entityType = 'catalog_product'; 00292 $attributesData = $this->_getResource() 00293 ->getAttributesUsedForSortBy(); 00294 Mage::getSingleton('eav/config') 00295 ->importAttributesData($entityType, $attributesData); 00296 foreach ($attributesData as $attributeData) { 00297 $attributeCode = $attributeData['attribute_code']; 00298 $this->_usedForSortBy[$attributeCode] = Mage::getSingleton('eav/config') 00299 ->getAttribute($entityType, $attributeCode); 00300 } 00301 } 00302 return $this->_usedForSortBy; 00303 }
| getAttributesUsedInProductListing | ( | ) |
Retrieve Attributes used in product listing
Definition at line 266 of file Config.php.
00266 { 00267 if (is_null($this->_usedInProductListing)) { 00268 $this->_usedInProductListing = array(); 00269 $entityType = 'catalog_product'; 00270 $attributesData = $this->_getResource() 00271 ->getAttributesUsedInListing(); 00272 Mage::getSingleton('eav/config') 00273 ->importAttributesData($entityType, $attributesData); 00274 foreach ($attributesData as $attributeData) { 00275 $attributeCode = $attributeData['attribute_code']; 00276 $this->_usedInProductListing[$attributeCode] = Mage::getSingleton('eav/config') 00277 ->getAttribute($entityType, $attributeCode); 00278 } 00279 } 00280 return $this->_usedInProductListing; 00281 }
| getAttributeUsedForSortByArray | ( | ) |
Retrieve Attributes Used for Sort by as array key = code, value = name
Definition at line 311 of file Config.php.
00312 { 00313 $options = array( 00314 'position' => Mage::helper('catalog')->__('Position') 00315 ); 00316 foreach ($this->getAttributesUsedForSortBy() as $attribute) { 00317 /* @var $attribute Mage_Eav_Model_Entity_Attribute_Abstract */ 00318 $options[$attribute->getAttributeCode()] = Mage::helper('catalog')->__($attribute->getFrontendLabel()); 00319 } 00320 00321 return $options; 00322 }
| getProductAttributes | ( | ) |
Load Product attributes
Definition at line 230 of file Config.php.
00231 { 00232 if (is_null($this->_productAttributes)) { 00233 $this->_productAttributes = array_keys($this->getAttributesUsedInProductListing()); 00234 } 00235 return $this->_productAttributes; 00236 }
| getProductCollectionAttributes | ( | ) |
Retrieve Product Collection Attributes from XML config file Used only for install/upgrade
Definition at line 244 of file Config.php.
00244 { 00245 $attributes = Mage::getConfig() 00246 ->getNode(self::XML_PATH_PRODUCT_COLLECTION_ATTRIBUTES) 00247 ->asArray(); 00248 return array_keys($attributes);; 00249 }
| getProductListDefaultSortBy | ( | $ | store = null |
) |
Retrieve Product List Default Sort By
| mixed | $store |
Definition at line 330 of file Config.php.
00330 { 00331 return Mage::getStoreConfig(self::XML_PATH_LIST_DEFAULT_SORT_BY, $store); 00332 }
| getProductTypeId | ( | $ | name | ) |
Definition at line 192 of file Config.php.
00193 { 00194 if (is_numeric($name)) { 00195 return $name; 00196 } 00197 00198 $this->loadProductTypes(); 00199 00200 $name = strtolower($name); 00201 return isset($this->_productTypesByName[$name]) ? $this->_productTypesByName[$name] : false; 00202 }
| getProductTypeName | ( | $ | id | ) |
Definition at line 204 of file Config.php.
00205 { 00206 if (!is_numeric($id)) { 00207 return $id; 00208 } 00209 00210 $this->loadProductTypes(); 00211 00212 return isset($this->_productTypesById[$id]) ? $this->_productTypesById[$id] : false; 00213 }
| getSourceOptionId | ( | $ | source, | |
| $ | value | |||
| ) |
Definition at line 215 of file Config.php.
00216 { 00217 foreach ($source->getAllOptions() as $option) { 00218 if (strcasecmp($option['label'], $value)==0 || $option['value'] == $value) { 00219 return $option['value']; 00220 } 00221 } 00222 return null; 00223 }
| loadAttributeGroups | ( | ) |
Definition at line 119 of file Config.php.
00120 { 00121 if ($this->_attributeGroupsById) { 00122 return $this; 00123 } 00124 00125 $attributeSetCollection = Mage::getResourceModel('eav/entity_attribute_group_collection') 00126 ->load(); 00127 00128 $this->_attributeGroupsById = array(); 00129 $this->_attributeGroupsByName = array(); 00130 foreach ($attributeSetCollection as $id=>$attributeGroup) { 00131 $attributeSetId = $attributeGroup->getAttributeSetId(); 00132 $name = $attributeGroup->getAttributeGroupName(); 00133 $this->_attributeGroupsById[$attributeSetId][$id] = $name; 00134 $this->_attributeGroupsByName[$attributeSetId][strtolower($name)] = $id; 00135 } 00136 return $this; 00137 }
| loadAttributeSets | ( | ) |
Definition at line 72 of file Config.php.
00073 { 00074 if ($this->_attributeSetsById) { 00075 return $this; 00076 } 00077 00078 $attributeSetCollection = Mage::getResourceModel('eav/entity_attribute_set_collection') 00079 ->load(); 00080 00081 $this->_attributeSetsById = array(); 00082 $this->_attributeSetsByName = array(); 00083 foreach ($attributeSetCollection as $id=>$attributeSet) { 00084 $entityTypeId = $attributeSet->getEntityTypeId(); 00085 $name = $attributeSet->getAttributeSetName(); 00086 $this->_attributeSetsById[$entityTypeId][$id] = $name; 00087 $this->_attributeSetsByName[$entityTypeId][strtolower($name)] = $id; 00088 } 00089 return $this; 00090 }
| loadProductTypes | ( | ) |
Definition at line 168 of file Config.php.
00169 { 00170 if ($this->_productTypesById) { 00171 return $this; 00172 } 00173 00174 /* 00175 $productTypeCollection = Mage::getResourceModel('catalog/product_type_collection') 00176 ->load(); 00177 */ 00178 $productTypeCollection = Mage::getModel('catalog/product_type') 00179 ->getOptionArray(); 00180 00181 $this->_productTypesById = array(); 00182 $this->_productTypesByName = array(); 00183 foreach ($productTypeCollection as $id=>$type) { 00184 //$name = $type->getCode(); 00185 $name = $type; 00186 $this->_productTypesById[$id] = $name; 00187 $this->_productTypesByName[strtolower($name)] = $id; 00188 } 00189 return $this; 00190 }
$_attributeGroupsById [protected] |
Definition at line 35 of file Config.php.
$_attributeGroupsByName [protected] |
Definition at line 36 of file Config.php.
$_attributeSetsById [protected] |
Definition at line 32 of file Config.php.
$_attributeSetsByName [protected] |
Definition at line 33 of file Config.php.
$_productAttributes [protected] |
Definition at line 45 of file Config.php.
$_productTypesById [protected] |
Definition at line 38 of file Config.php.
$_usedForSortBy [protected] |
Definition at line 59 of file Config.php.
$_usedInProductListing [protected] |
Definition at line 52 of file Config.php.
| const XML_PATH_LIST_DEFAULT_SORT_BY = 'catalog/frontend/default_sort_by' |
Definition at line 30 of file Config.php.
| const XML_PATH_PRODUCT_COLLECTION_ATTRIBUTES = 'frontend/product/collection/attributes' |
Definition at line 61 of file Config.php.
1.5.8