Repository einer 1:n Beziehung ändern [Gelöst]

  • Alanin Alanin
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2011, 10:15

    Hallo Zusammen,

    ich stehe gerade etwas auf dem Schlauch. Ich bin dabei einen Webshop für eine vorhandene Produktverwaltung zu entwickeln. Die Eigenschaften der Produkte liegen weiterhin in einer externen Datenbank und sollen mit Verweisen an die Produktobjekte im Webshop gehangen werden.

    Dazu habe ich ein Model Produkt angelegt, welches unter anderem die Eigenschaft 'attributes' hat, die Daten aus der Attributestabelle werden auch an das Produktobjekt gehangen, leider ist das noch nicht alles was ich benötige. Ich muss ja nun die Attribute um die Eigenschaften der Externen Datenbank erweitern, dazu wollte ich das Repository von Attributes anpassen und gleich die entsprechenden Eigenschaften zurück liefern.

    Leider musste ich feststellen, dass zum Aufbauen der AttributesModelle das Repository von Attributes gar nicht verwendet wird. Jedenfalls kann ich im __construct ein die(); hinschreiben, es passiert nur nichts...

    Hab ich irgendeinen Fehler und das Repository wird doch verwendet oder bin ich auf dem Holzweg?

    Danke für eure Hilfe.
    MfG Jörg


  • 1
  • saschae saschae
    Jedi-Meister
    0 x
    263 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2011, 11:10

    Welche TYPO3/Extbase Version?

    Hast du mal alle Cache Tables geleert? Speziell die "tx_extbase_cache_*"?

  • Alanin Alanin
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2011, 11:18

    Ich habe TYPO3 4.5.6 und Extbase 1.3.1

    Die Caches habe ich schon mehrfach geleert...

    Ich habe so langsam das Gefühl, dass beim Laden von Childobjekten das eigene Repository einfach ignoriert wird...

  • Alanin Alanin
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2011, 12:08

    Kann es sein, dass der __construct von einer anderen Klasse überladen wird?

    Bleibt allerdings noch die Frage, warum lässt man dann nicht auch noch den eigentlichen __construct laufen und welche Funktion muss ich in meinem Repository überladen, damit ich selbst bestimmen kann, welches SQL ausgeführt wird um das ChildObjekt zu füllen?

  • kainobi kainobi
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2011, 12:42

    [quote="Alanin"]
    Ich habe so langsam das Gefühl, dass beim Laden von Childobjekten das eigene Repository einfach ignoriert wird...
    [/quote]
    So ist es. Die Kindobjekte werden beim Erzeugen des Elternobjekts durch den DataMapper geladen (extbase/Classes/Persistence/Mapper). Die benötigten Informationen holt sich der Mapper dabei aus dem TCA.

  • Alanin Alanin
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2011, 19:48

    [quote="kainobi"]
    [quote="Alanin"]
    Ich habe so langsam das Gefühl, dass beim Laden von Childobjekten das eigene Repository einfach ignoriert wird...
    [/quote]
    So ist es. Die Kindobjekte werden beim Erzeugen des Elternobjekts durch den DataMapper geladen (extbase/Classes/Persistence/Mapper). Die benötigten Informationen holt sich der Mapper dabei aus dem TCA.
    [/quote]

    Und dabei wird das Repository ignoriert? Also ist es unmöglich über das Repository eigene Funktionen für die Childobjekte zu erstellen?

  • Alanin Alanin
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    11. 11. 2011, 14:08

    So, ich habe nun eine Lösung, dem einen mag sie gefallen, dem anderen nicht. So wirklich lösen tut sie das allgemeine Problem allerdings auch nicht...

    Ich habe die originale Tabelle der Childobjekte mit einem View ersetzt. So kann ich zumindest die Werte der externen Datenbank auslesen.

    Dadurch fallen aber die Funktionen add/remove/etc. für diese Objekt weg, was mich in meinem Fall nicht stört, da ich diese Tabelle eh von einem Drittsystem füllen werde.

    Danke an alle, die geholfen haben eine für mich passende Lösung zu finden.

    Bis Extbase wirklich sinnvoll und auch bei komplexen Sachen nutzbar wird, vergeht scheinbar noch eine ganz Zeit, im Moment ärgere ich mich eher darüber, als dass es mir Hilft. Aber egal, fetzt ja trotzdem irgendwie...

  • 1