Eigene "Utility" Klassen?

Thema wurde von Anonymous, 15. Juli 2013 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    990
    Danke erhalten:
    69
    Danke vergeben:
    128
    Hallo zusammen,

    ich habe unseren Shop an einigen Stellen (updatesicher) erweitert. Z.B. in Product-Content und Product-Tabs:
    - ext_GMTabTokenizer
    - ext_ProductsInfoContentview

    Problem:
    - Ich benötige sowohl bei den Tabs als auch in der ProductsContentView gleiche Daten wie z.B. alle Filterattribute.

    Frage 1:
    - Muss ich auf trotzdem innerhalb beider Erweiterungen die gleichen SQL Statements ausführen oder gibt es da elegantere Lösungen?

    Frage 2:
    - Kann ich zumindest die gleichen Funktionen (z.B. zum Auslesen der Daten aus der Datenbank) eine eigene (statische) Utility Klasse erstellen? Wo sollte man diese Klasse ablegen?

    Danke
     
  2. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Für die Filterei gibt es ja schon eine eigene Klasse, die kannst Du ja in Deiner instantiieren.
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    990
    Danke erhalten:
    69
    Danke vergeben:
    128
    Für meine Funktionen gibt es leider noch keine Klasse, daher ja meine Frage
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    990
    Danke erhalten:
    69
    Danke vergeben:
    128
    Moin,

    kann mir da wirklich keiner helfen? Wohin lege ich meine eigenen Funktionen die ich in mehreren Klassen aufrufen möchte?
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    990
    Danke erhalten:
    69
    Danke vergeben:
    128
    Alternativ würde es mir helfen wenn ich z.B. in meiner ext_ProductsInfoContentView.php eine Variable bzw. ein Array definieren kann welches dann in ext_GMTabTokenzier.php zugänglich ist?!
     
  6. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    $this->set_content_data('humple_spezial', 'War doch easy');

    Dann im Tempalte {$humple_spezial}

    Wie und warum die "ext_GMTabTokenzier.php" daruf zugreifen soll/muss/kann ... keine Ahnung.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    990
    Danke erhalten:
    69
    Danke vergeben:
    128
    Hm. Ich ermittel unsere "Ähnlichen Artikel" automatisiert. Durch den Algorithmus werden in der ProductsInfoContentView relativ viele Datenbankabfragen durchgeführt... Die "Ahnlichen Artikel" werden unter im Template ganz unten ausgegeben... Einige Artikel "Zubehör" will ich ebenfalls automatisch ermitteln und als TAB darstellen. Die notwendigen SQL Statements und Funktionen sind relativ ähnlich bis identisch. D.h. ich will 1. die Funktionen nicht in allen Klassen definieren. D.h. ich könnte in meiner TAB Klasse ein OBjekt von der PRoductInfoContentView erstellen und eine Funktion content->getZubehoer() aufrufen. Allerdings müsste ich dann wieder (um an meine Informationen zu gelangen) wieder ALLE SQL Statements erneut aufrufen..... Theoretisch könnte ich meinen TAB bereits problemlos in der ProductsInfoContentView füllen $this->setData("mein fertiger tab");... Dieser kann allerdings NICHT als TAB im Template dargestellt werden...(Link nur für registrierte Nutzer sichtbar.)
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    990
    Danke erhalten:
    69
    Danke vergeben:
    128
    ich glaube ich hab es jetzt, ich muss meine Klassen ein wenig refacorieren.... das ergebnis sollte heute im laufe des Tages begutachtet werden können ;)
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    990
    Danke erhalten:
    69
    Danke vergeben:
    128
    So, fertich: (Link nur für registrierte Nutzer sichtbar.)

    => Der Algorithmus zur Ermittlung von "Zubehör" ist zwar noch nicht ganz ausgereift, aber die technische Basis steht zumindest schonmal. Nie wieder Cross-Selling per Hand pflegen ;)
     
  10. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.112
    Danke erhalten:
    6.153
    Danke vergeben:
    1.090
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Sieht gut aus
    so ein ähnliches Modul gabs hier schon mal das autom. bestimmte artikel listet an beliebiger stelle im Template
    (Link nur für registrierte Nutzer sichtbar.)
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    990
    Danke erhalten:
    69
    Danke vergeben:
    128
    Ich habe alle Cross-Selling Einträge aus der Datenbank entfernt sowie das "Ebenfalls gekauft" Modul gelöscht. Cross Selling war zu viel Arbeit, Ebenfalls gekauft war Kraut und Rüben. Nun werden die passenden Artikel speziell nach unseren Kriterien ermittelt. Ganz unten werden ähnliche Artikel anhand der Marke, Farbe etc. ermittelt. Bzw. wenn nicht genügend Artikel in der gleichen Farbe, dann halt andere Artikel für "Mädchen" .... usw. Zubehör ist momentan noch verbesserungbedürftig da zu wenig Artikel angezeigt werden und sicherlich passendere Produkte ermittelt werden können. Die Umsetzung ist sehr speziell auf unsere Produktpalette abgestimmt, d.h. das Modul ist zwar updatesicher, hilft aber den wenigsten. Wenn jemand so etwas ähnliches benötigt sind kann er sich gerne melden.
     
  12. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.112
    Danke erhalten:
    6.153
    Danke vergeben:
    1.090
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Finds gut wie sich euer shop seit dem Usertreffen entwickelt hat ! Keine Frage.