/** * Return the base config for given editable attribute * * @param string $type Grid block type * @param string $code Attribute code * @param Mage_Eav_Model_Entity_Attribute $attribute Attribute object * @return array */ protected function _getEditableAttributeBaseConfig($type, $code, $attribute) { // All those values pretty much correspond to the editable fields configs ones ("missing" ones are induced) return array('in_grid' => in_array($attribute->getFrontend()->getInputType(), array('date', 'multiselect', 'price', 'select', 'text')), 'edit_block_type' => 'default', 'render_block_type' => 'default', 'ids_key' => 'identifiers', 'additional_key' => 'additional', 'values_key' => 'values', 'must_filter' => false, 'filter_type' => null, 'filter_params' => array(), 'render_reload' => $attribute->getBackendModel() != '', 'column_params' => array(), 'layout_handles' => array(), 'window_width' => '80%', 'window_height' => '80%', 'window_draggable' => true, 'window_resizable' => true, 'window_recenter_auto' => false, 'window_title' => Mage::helper('customgrid')->__('Edit Value'), 'renderer_params' => array()); }
/** * Add data about search criteria to object state * * @param Mage_Eav_Model_Entity_Attribute $attribute * @param mixed $value * @return Mage_CatalogSearch_Model_Advanced */ protected function _addSearchCriteria($attribute, $value) { $name = $attribute->getFrontend()->getLabel(); if (is_array($value) && (isset($value['from']) || isset($value['to']))) { if (isset($value['currency'])) { $currencyModel = AO::getModel('directory/currency')->load($value['currency']); $from = $currencyModel->format($value['from'], array(), false); $to = $currencyModel->format($value['to'], array(), false); } else { $currencyModel = null; } if (strlen($value['from']) > 0 && strlen($value['to']) > 0) { // - $value = sprintf('%s - %s', $currencyModel ? $from : $value['from'], $currencyModel ? $to : $value['to']); } elseif (strlen($value['from']) > 0) { // and more $value = AO::helper('catalogsearch')->__('%s and greater', $currencyModel ? $from : $value['from']); } elseif (strlen($value['to']) > 0) { // to $value = AO::helper('catalogsearch')->__('up to %s', $currencyModel ? $to : $value['to']); } } if (($attribute->getFrontendInput() == 'select' || $attribute->getFrontendInput() == 'multiselect') && is_array($value)) { foreach ($value as $k => $v) { $value[$k] = $attribute->getSource()->getOptionText($v); if (is_array($value[$k])) { $value[$k] = $value[$k]['label']; } } $value = implode(', ', $value); } else { if ($attribute->getFrontendInput() == 'select' || $attribute->getFrontendInput() == 'multiselect') { $value = $attribute->getSource()->getOptionText($value); if (is_array($value)) { $value = $value['label']; } } else { if ($attribute->getFrontendInput() == 'boolean') { $value = $value == 1 ? AO::helper('catalogsearch')->__('Yes') : AO::helper('catalogsearch')->__('No'); } } } $this->_searchCriterias[] = array('name' => $name, 'value' => $value); return $this; }