Wo erstellt Shopware die Arrays

Hallo, in welchen Dateien erstellt Shopware die Arrays, die auf den jeweiligen Shopseiten dann zur Datenausgabe genutz werden? Ich benötige im Array {$search_result} aus der search/ajax.tpl weitere Daten und würde gerne die SQL Abfrage anpassen. Gibt es einen Weg diese Änderung updatesicher zu machen (ausser Erstellung eines Plugins)? Danke und Grüße

[quote=“jack0711”]Hallo, in welchen Dateien erstellt Shopware die Arrays, die auf den jeweiligen Shopseiten dann zur Datenausgabe genutz werden? Ich benötige im Array {$search_result} aus der search/ajax.tpl weitere Daten und würde gerne die SQL Abfrage anpassen. [/quote] Das Array $sSearchResults wird in den Dateien AjaxSearch.php und/oder Search.php erstellt (/engine/Shopware/Controllers/Frontend) erstellt. Funktion, die die Suchergebnisse zurück gibt ist doSearch() bei der Ajax Suche oder search() eines entsprechenden Adapters. [quote=“jack0711”]Gibt es einen Weg diese Änderung updatesicher zu machen (ausser Erstellung eines Plugins)?[/quote] Nein, entweder Plugin oder Core Änderung.

Um mit einem Plugin die Ajax Suchergebnisse anzusprechen sollte in der install function des Plugins doch: $this-\>subscribeEvent( 'AjaxSearch::doSearch::after', 'afterdoSearch' ); passen - oder was sehe ich falsch?

[quote=„doing“]Um mit einem Plugin die Ajax Suchergebnisse anzusprechen sollte in der install function des Plugins doch: $this-\>subscribeEvent( 'AjaxSearch::doSearch::after', 'afterdoSearch' ); passen - oder was sehe ich falsch?[/quote] Meines Wissens kann man sich nur an die Core klassen per Hook hängen. Oder geht sowas auch?

[quote=„Tina“]Hallo, ich klink mich hier mal mit ein. Ich finde leider nicht, an welcher Stelle genau ich die angezeigten Felder der Ajax-Suche erweitern kann. Ich möchte gern die Zusatzfelder, also attr1, attr2 usw. anzeigen. Wär toll, wenn mir jemand helfen kann![/quote] Ich pushe den Thread mal hoch. Wir haben das selbe Problem. Ich möchte in der Ajax Ausgabe zur Suche das attr5 aus den Artikeln ausgeben. Das Feld Description fungiert bei uns als reine Meta Description für Google. Vielleicht kann ja jemand helden. :thumbup: Vielen Dank

[quote=“mmmichael”]Meines Wissens kann man sich nur an die Core klassen per Hook hängen. Oder geht sowas auch?[/quote] Ich habe schon mal so etwas gesehen $this-\>subscribeEvent( 'Shopware\Components\_PFAD\_\_CLASS\_::\_FUNCTION\_::replace', 'myFunction' );Kann jemand sagen, ob das stimmt? Und vor allem, wenn es stimmt, welche Klassen lassen sich so anpassen und welche nicht (wo sieht man das)?

[quote=“kube”]Kann jemand sagen, ob das stimmt? [/quote] Das stimmt so (in etwa). [quote=“kube”][…] welche Klassen lassen sich so anpassen […][/quote] Prinzipiell jede die über einen proxy geladen wird. Im Normalfall betrifft das fast jede Komponente und jeden Controller. Viele Grüße

Das hier funktioniert nicht: $this-\>subscribeEvent( 'Shopware\Components\DependencyInjection\Bridge\Session::factory::replace', 'replaceSessionFactoryHook' );Wahrscheinlich wird diese Session-Klasse nicht über eine Proxy geladen. Aber wo oder an was genau kann ich sehen, dass eine Klasse über Proxy geladen wird und eine andere nicht?

http://wiki.shopware.de/Shopware-4-Even … ookable.22 http://wiki.shopware.de/Shopware-4-Even … ktionieren Da sollte, denke ich, alles erklärt sein.

Kannst du nicht erkennen - musst du testen. Entweder die Klasse hat das interface hookable und es ist leicht erkennbar oder die Klasse wird über den proxy geladen - aber das kannst du nicht direkt einsehen. Viele Grüße

1 „Gefällt mir“

Löst dieses Plug-In: https://store.shopware.de/template-desi … ajax-suche das Problem? Ich möchte nämlich auch weitere Felder in der Ajax-Suche anzeigen lassen, wenn ich hier aber Begriffe wie core, controller, interface hookable, usw. lese, wird mir schwindlig. :smiley: Das ist nicht meine Welt… würde es gern über ein fertiges Plg-In lösen, und nicht selbst rumpfuschen (das geht schief). Kann das obere Plug-In das leisten, um was es hier im Thread geht? Und hat’s schonmla jemand mit der 4.2.3 probiert?

[quote=“dewib”]Löst dieses Plug-In: https://store.shopware.de/template-desi … ajax-suche das Problem?[/quote] Am besten sich direkt an den Plugin-Hersteller wenden, seine Kontaktdaten sind auf der Seite im Store zu finden.

Hab ich schon, aber noch keine Antwort. Vielleicht hat ja jemand das Plugin im Einsatz und kann berichten.