Block rewrite

      Block rewrite

      Hallo zusammen!

      ich versuche gerade eine Funktion eines Core-Blocks mit einem eigenen Modul zu überschreiben. Klappt aber leider nicht, ich vermute einen "banalen" xml-Fehler - aber ich komm leider nicht drauf.

      Im Allgemeinen möchte ich, dass bei der erweiterten Suche kein Multiselect sondern ein Dropdown auftaucht.

      Wär super wenn jemand mal drüber fliegen könnte : ) schonmal vielen dank und liebe Grüße!

      /app/etc/modules/Mage_MyCatalogSearch.xml

      Quellcode

      1. <?xml version="1.0"?>
      2. <config>
      3. <modules>
      4. <Mage_MyCatalogSearch>
      5. <active>true</active> /* Aktivieren */
      6. <codePool>local</codePool>/* Wo liegt das Modul core,community oder local*/
      7. </Mage_MyCatalogSearch>
      8. </modules>
      9. </config>
      /app/code/local/Mage/MyCatalogSearch/etc/config.xml

      XML-Quellcode

      1. <?xml version="1.0"?>
      2. <config>
      3. <modules>
      4. <Mage_MyCatalogSearch>
      5. <version>0.1.0</version>
      6. </Mage_MyCatalogSearch>
      7. </modules>
      8. <global>
      9. <blocks>
      10. <advanced>
      11. <rewrite>
      12. <form>Mage_MyCatalogSearch_Block_Advanced_Form</form>
      13. </rewrite>
      14. </advanced>
      15. </blocks>
      16. </global>
      17. </config>
      /app/code/local/Mage/MyCatalogSearch/Block/Advanced/Form.php

      PHP-Quellcode

      1. <?php
      2. class Mage_MyCatalogSearch_Block_Advanced_Form extends Mage_CatalogSearch_Block_Advanced_Form
      3. {
      4. public function getAttributeSelectElement($attribute)
      5. {
      6. $extra = '';
      7. $options = $attribute->getSource()->getAllOptions(false);
      8. $name = $attribute->getAttributeCode();
      9. // 2 - avoid yes/no selects to be multiselects
      10. if (is_array($options) && count($options)>2) {
      11. $extra = 'size="1"';
      12. $name.= '[]';
      13. }
      14. else {
      15. array_unshift($options, array('value'=>'', 'label'=>Mage::helper('catalogsearch')->__('All')));
      16. }
      17. return $this->_getSelectBlock()
      18. ->setName($name)
      19. ->setId($attribute->getAttributeCode())
      20. ->setTitle($this->getAttributeLabel($attribute))
      21. ->setExtraParams($extra)
      22. ->setValue($this->getAttributeValue($attribute))
      23. ->setOptions($options)
      24. ->setClass('multiselect')
      25. ->getHtml();
      26. }
      27. }
      28. ?>