Erweiterte Suche Drop Down

      Erweiterte Suche Drop Down

      Hallo,

      Bei der erweiterten Suche habe ich festgestellt, dass nur ein paar der Optionen als DropDown-Liste angezeigt werden. Auffallend ist, dass das die Optionen sind, in denen nur 2 Möglichkeiten zur Auswahl stehen. Alle anderen sind Felder mit Mehrfachauswahl.

      Ich würde die erweiterte Suche nur über Dropdownlisten lösen, da ich eine Mehrfachauswahl nicht benötige, bzw. ich möchte selbst bestimmen, wie die Suche erfolgen darf, Mehrfachauswahl oder Dropdown.

      Unter "Katalog Eingabetyp für Shopbesitzer" ist DropDown ausgewählt, die Suche ist aber dennoch als Mehrfachauswahl möglich für Kunden.

      Gibt es dafür eine Lösung?

      mfg HiLo
      Moin Hilo,

      ich selbst halte von dieser Suchfunktion sowieso nichts und habe sie mehr oder weniger deaktiviert. Insofern bin ich jetzt nicht sooo firm in dieser Sache.

      Aber was hast Du denn bei den Shop-Einstellungen der Attribute hinterlegt (erweiterte Suche, Filternavigation etc.)?

      Gruß
      Ingo
      In der Datei

      Quellcode

      1. app/code/core/Mage/CatalogSearch/Block/Advanced/Form.php
      muss die Funktion getAttributeSelectElement in Zeile 185 wie folgt bearbeitet werden ($extra = .... auskommentieren):

      PHP-Quellcode

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


      Gerade in der 1.3.0 getestet und funktioniert: Erweiterte Katalogsuche
      Magento Hosting | Cloud Server | Shopware Hosting | Elasticsearch Hosting
      Unsere Hosting-Lösungen nutzen ultraschnelle SSDs und sind jederzeit skalierbar.
      Super, das war fast das was ich suchte. Hab mich mit dem Programmcode noch nicht beschäftigt, aber der kleine Einblick hat mich positiv beeindruckt. Mal sehen, was man noch alles so einfach anpassen kann.

      Habe das noch etwas modifiziert. Bei deinem Beispiel, habe ich immer eine Auswahl vorgegeben. Mir gefällt das mit dem "Alle" besser.

      Deshalb: die Zeile nicht auskommentiert, sondern mit einer Zahl ausgefüllt, die sicher nicht erreicht wird in diesem Shop (in Zeilen 184 und 185).

      Quellcode

      1. // 2 - avoid yes/no selects to be multiselects
      2. if (is_array($options) && count($options)>500) {
      3. $extra = 'multiple="multiple" size="501"';
      4. $name.= '[]';
      mfg HiLo

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „HiLo“ () aus folgendem Grund: codierung vergessen