Positionierung der Ergebnisse für die intelligente Suche

Hi, die intelligente Suche befindet sich in einem absolut gesetzten div mit Positionierungsangaben. Diese werden aber offensichtlich irgendwie dynamisch generiert, weshalb ich das Ergebnisfeld mit CSS nicht beeinflussen kann. Jedesmal wenn man die Browsergröße verändert, ändern sich auch die “top” und “left” Angaben des divs. Frage dazu: Wie kann ich denn nun beeinflussen wo sich das Suchfeld genau befindet? Muss ich dazu das Javascript anpassen? Welches ist dafür überhaupt verantwortlich? Grüße.

Hi, meinst Du das dropdown mit Ergebnissen das unter dem Suchfeld erscheint? Das kannst Du hiermit positionieren div#searchresults {position:absolute; top:100px; left:200px;} Respektive schieb es dahin wo Du es haben möchtest. mfg, Holger

Hallo, Entschuldigung, wenn ich diesen Thread wieder aus der „Mottenkiste“ heraushole, aber ich habe genau das gleiche Problem. Das div#searchresults lässt sich zwar mit der CSS Regel von ronecker absolut positionieren, aber die Angaben „top“ und „left“ werden nicht beachtet, da diese Werte bereits direkt am Element definiert sind. Und ich habe nun das Problem, dass ich dieses Element nicht finde. Das Suchergebnis im Ajax-Dropdownfeld wird in „_default\frontend\search\ajax.tpl“ definiert und beginnt mit dem Element

. Das Problem jedoch ist, dass das
sich eine Ebene über dem
befindet. Weiß jemand wo sich das
befindet ? Vielen Dank. Grüße Rückenschwimmer

Das positionnieren erfolgt mittels js daher steht es direkt in den Elementen drin. Um die Box zu Positionieren div#searchresults der plugin.css (left:, top:) überschreiben. Js benutzt diese Angaben zum zentriertem positionieren. :thumbup:

1 Like

[quote=“zwweiradstern”]Das positionnieren erfolgt mittels js daher steht es direkt in den Elementen drin. Um die Box zu Positionieren div#searchresults der plugin.css (left:, top:) überschreiben. Js benutzt diese Angaben zum zentriertem positionieren. :thumbup:[/quote] Danke für den Hinweis. An einer Änderung der plugin.css habe ich gar nicht gedacht, da Firebug mir angezeigt hatte, dass die Regel in der plugin.css von einer Regel im Element selbst überschrieben worden ist. Dass es an JS liegt, darauf muss man ja erstmal kommen. Auf jeden Fall konnte ich das div#searchresults nun meinen Wünschen entsprechend anpassen. Vielen Dank. Grüsse Paul

Hab das gleiche Problem… Hab die plugin.css im Ordner: /templates/_default/frontend/_resources/styles bearbeitet. div#searchresults { display: none; width: 250px; padding: 0px 0px 40px; border: 3px solid #c7c7c7; z-index: 8000; position: absolute; top: 75px; left: 755px; font-size: 10px; line-height: 12px; } Bringt bei mir leider keine Änderungen. Es wird immer noch dynamisch per JS gesetzt.

Niemand eine Idee? Wenn ich die JS Datei finden würde die dynamisch die Position ändert könnte ich es ja dort ändern. Änderungen an der plugins.css oder anderen bringt keine Änderung. Leider hilft der Support bei den Templateanpassungen nicht weiter…

Hi, das ganze wird in der jquery.shopware.js Datei erledigt. Ziemlich weit unten gibt es eine Anweisung, welche die Offsets berechnet. Sucht nach diesem Ausdruck var containerOffset = $('.container\_20:first').offset(); In den Zeilen darunter, besonders bei 'left': containerOffset.left + config.\_left, könnt ihr dann einen Wert hinzufügen, z.B. so: 'left': containerOffset.left + 140 + config.\_left, Dieser wird dann zu dem berechneten Offset addiert. Das gleiche gilt auch für die Höhe. Natürlich schön artig die JS Datei in eure modifizierte Header Datei einbinden und in eurem Template modden und nicht die Core Datei überschreiben :slight_smile: Grüße! Steffen