Erste Schritte mit Extbase - Wie füttere ich das Plugin mit Daten? [Gelöst]

  • martinibianco007 martinibi...
    Sternenflotten-Admiral
    0 x
    213 Beiträge
    0 Hilfreiche Beiträge
    12. 02. 2013, 12:08

    Hi ich bräuchte wieder mal eure Hilfe.

    [b]Vorweg, das verwende ich:[/b]
    - Typo3 6.0.1
    - Extension Builder 2.5.1

    [b]Was will ich:[/b]
    Eine simple Extension. Es gibt ein Showcase (Schaufenster) welches mehrere Showcase Items beinhalten soll.
    Das Showcase kann beliebig viele Showcase Items beinhalten.
    Showcase Item bestehen aus einem Bild, Text, Link....

    Was habe ich bis jetzt gemacht:
    [b]1. Domain Modelling [/b]
    [b]2. Extesnion im Extension Manager installieren[/b]
    - Die erfreuliche Nachricht, unter Liste -> neuen Datensatz erstellen kann ich ein Showcase anlegen und darin die Showcase Items

    [b]3. Plugin auf Seite einfügen[/b]
    [b]4. Game Over[/b] #angry# nun stehe ich an, wie kann ich dem Plugin beibringen dass er die auf der Seite eingefügtn Daten verwenden soll?

    Laut Mittwald Extbase Doku soll man einen sysfolder anlegen und im Plugin dann auf diesen verlinken. Klingt logisch aber wie kann ich im Plugin ein Feld hinzufügen wo ich dann auf die Datensätze verlinke?

    Anhänge (1)
    domain-modelling.jpg image/jpeg 0,00 B 362 heruntergeladen

  • fan66766 fan66766
    T3PO
    0 x
    23 Beiträge
    0 Hilfreiche Beiträge
    13. 02. 2013, 13:39

    Ich habe ne Vermutung.

    Zeige uns mal bitte eine Resources/Private/Templates/Showcaseitem/list.html

  • martinibianco007 martinibi...
    Sternenflotten-Admiral
    0 x
    213 Beiträge
    0 Hilfreiche Beiträge
    13. 02. 2013, 13:49

    1. <f:layout name="Default" />
    2.  
    3. This Template is responsible for creating a table of domain objects.
    4.  
    5. If you modify this template, do not forget to change the overwrite settings
    6. in /Configuration/ExtensionBuilder/settings.yaml:
    7. Resources:
    8. Private:
    9. Templates:
    10. List.html: keep
    11.  
    12. Otherwise your changes will be overwritten the next time you save the extension in the extension builder
    13.  
    14. <f:section name="main">
    15. <h1>Listing for ShowcaseItem</h1>
    16.  
    17. <f:flashMessages />
    18.  
    19. <table class="tx_wsshowcase" >
    20. <tr>
    21. <th><f:translate key="tx_wsshowcase_domain_model_showcaseitem.itemtitle" /></th>
    22. <th><f:translate key="tx_wsshowcase_domain_model_showcaseitem.category" /></th>
    23. <th><f:translate key="tx_wsshowcase_domain_model_showcaseitem.description" /></th>
    24. <th><f:translate key="tx_wsshowcase_domain_model_showcaseitem.link" /></th>
    25. <th> </th>
    26. <th> </th>
    27. </tr>
    28.  
    29. <f:for each="{showcaseItems}" as="showcaseItem">
    30. <tr>
    31. <td><f:link.action action="show" arguments="{showcaseItem : showcaseItem}"> {showcaseItem.itemtitle}</f:link.action></td>
    32. <td><f:link.action action="show" arguments="{showcaseItem : showcaseItem}"> {showcaseItem.category}</f:link.action></td>
    33. <td><f:link.action action="show" arguments="{showcaseItem : showcaseItem}"> {showcaseItem.description}</f:link.action></td>
    34. <td><f:link.action action="show" arguments="{showcaseItem : showcaseItem}"> {showcaseItem.link}</f:link.action></td>
    35. <td><f:link.action action="edit" arguments="{showcaseItem : showcaseItem}">Edit</f:link.action></td>
    36. <td><f:link.action action="delete" arguments="{showcaseItem : showcaseItem}">Delete</f:link.action></td>
    37. </tr>
    38. </f:for>
    39.  
    40. <f:link.action action="new">New ShowcaseItem</f:link.action>
    41. </f:section>

  • fan66766 fan66766
    T3PO
    0 x
    23 Beiträge
    0 Hilfreiche Beiträge
    13. 02. 2013, 13:55

    Scheint alles gut auszusehen.

    Setze mal bitte im Extension Builder für diese Tabelle das "aggregate root" Häkchen -> abspeichern -> Datenbank aktualisieren lassen über Menüpunkt "Adminwerkzeuge -> Installation" und erneut aufrufen. Eventuell Cahce leeren.

    Achtung: Falls Du Änderungen am Controller, der Repository, oder am Fluid Template gemacht hast, speichere Sie Dir vorher seperat ab. Diese werden gelöscht.

  • martinibianco007 martinibi...
    Sternenflotten-Admiral
    0 x
    213 Beiträge
    0 Hilfreiche Beiträge
    13. 02. 2013, 14:28

    Wenn ich is aggregated Root bei ShowcaseItem anhake (verstehe zwar nicht warum das soll ja nicht die root sein)
    bekomme ich eine Ausgabe und zwar sieht die ca. wie folgt aus

    Listing for ShowcaseItem
    Itemtitel (nur Intern) category Beschreibungstext link
    schaufensteritem 1 test 1 beschreibung 1 http://www.gmx.net Edit Delete
    item 2 test 2 descr 2 http://www.xxx.at Edit Delete
    New ShowcaseItem

    mhhh sobald ich das Häckchen mit der Root wieder entferne is alles futsch.

    @fan66766 hast meine PM gelesen?

  • beo6 beo6
    Padawan
    0 x
    45 Beiträge
    1 Hilfreiche Beiträge
    13. 02. 2013, 15:41

    Du greifst anscheinend direkt auf die Showcase Items zu. Wo du jedoch im ersten Posting schreibst das es Showcases gibt (dein Root) das mehrere Showcase Items beinhalten soll.

    Daher möchtest du doch sicher eher eine Liste aller Showcases in denen wiederrum alle Showcase Items angezeigt werden.

    Dann ist wohl auch laut deinem späteren Posting die ext_localconf falsch. Hier wird immer die controller->action als Default verwendet was als erstes eingetragen ist. Bei dir also showcaseitem=>list

    es sollte aber am Anfang wohl eher showcase=>list stehen.

    im Template kannst du dann wenn die Verknüpfung im Model richtig eingerichtet ist mit {showcase.showcaseitem.0.beschreibungstext}
    z.B. auf das erste showcaseitem in einem showcase zugreifen.

    Hoffe ich habe alles richtig verstanden.


  • 0 x
    13. 02. 2013, 15:42

    Was dir fehlt ist eine Möglichkeit im Plugin ein Showcase auszuwählen, dass dan angezeigt wird. Du könntest natürlich auch die Logik so bauen, dass das von der aktuellen Seite genommen wird. Ich denke dieser Punkt fehlt dir im Moment.

    D.h. in deiner listAction() musst du irgendwie ein Showcase object bekommen und das dann nach seinen items fragen...

    Um eine Auswahlmöglichkeit im Plugin einzubauen würde ich mal nach Beispielen für Flexforms und Extbase suchen, da gibts welche.

  • martinibianco007 martinibi...
    Sternenflotten-Admiral
    0 x
    213 Beiträge
    0 Hilfreiche Beiträge
    13. 02. 2013, 16:45

    @beo6

    bist mein held! genau das war das problem: die reihenfolge

    vielen dank (auch allen anderen)

  • martinibianco007 martinibi...
    Sternenflotten-Admiral
    0 x
    213 Beiträge
    0 Hilfreiche Beiträge
    13. 02. 2013, 17:11

    zu früh gefreut,

    der extension builder kann mein modul nun nicht mehr laden.
    es wird angezeigt nur bei klick darauf passiert nichts.

    anders gefragt, welche dateien darf ich im code verändern ohne
    die funktionalität des extensions builders zu zerstören?

    habe die ext_localconf und default.html geändert kann das der grund sein?

    kann mir jeman eine lektüre empfehlen sonst werde ich hier alt. :o

  • fan66766 fan66766
    T3PO
    0 x
    23 Beiträge
    0 Hilfreiche Beiträge
    13. 02. 2013, 17:19

    http://www.mittwald.de/typo3-dokumentation/ ;)