Object einen anderen Object zuordnen?

  • ArminB ArminB
    Jedi-Meister
    0 x
    410 Beiträge
    0 Hilfreiche Beiträge
    07. 02. 2011, 13:21

    Hallo,

    ich möchte eine Liste von Blogs darstellen und darunter sollen einige der zugehörigens Posts erscheinen, wie im Buch TYPO3 Extensionen Seite 354 ff.

    Ich habe nun in Kurzform:

    1. <?php
    2.  
    3. class Tx_Simpleblog_Domain_Model_Blog extends Tx_Extbase_DomainObject_AbstractEntity {
    4.  
    5. /**
    6. * Post pro Blog
    7. *
    8. * @var Tx_Extbase_Persistence_ObjectStorage<Tx_Simpleblog_Domain_Model_Post>
    9. * @lazy
    10. */
    11. protected $posts;
    12.  
    13.  
    14. /**
    15. * Erzeugt einen Block
    16. */
    17. public function __construct() {
    18. $this->posts = new Tx_Extbase_Persistence_ObjectStorage();
    19. }
    20.  
    21. /**
    22. * Alle Posts
    23. *
    24. * @return Tx_Extbase_Persistence_ObjectStorage
    25. */
    26. public function getPosts() {
    27. return clone $this->posts;
    28. }
    29.  
    30. }
    31. ?>

    Es werden auch die Blogs und Posts ausgegeben. Aber wie kann ich die Posts beinflussen (sortierung, Limit)

    Oder, wie kann ich Object einen anderen Object zuordnen?

    Gruß
    Armin


  • 1
  • ArminB ArminB
    Jedi-Meister
    0 x
    410 Beiträge
    0 Hilfreiche Beiträge
    09. 02. 2011, 17:34

    Um die Sortierung und das LIMIT zu beeinfluusen gehe ich nicht mehr über Tx_Extbase_Persistence_ObjectStorage sonder habe eine eigene Methode im Repository erstellt. Im Modul habe ich nun

    1. /**
    2. * @return Tx_Simpleblog_Domain_Model_Post
    3. */
    4. public function getPostListOrderAndLimit() {
    5. $typoScript = t3lib_div::makeInstance('Tx_Extbase_Configuration_Source_TypoScriptSource');
    6. $this->settings = $typoScript->load('simpleblog');
    7. $this->postRepository = t3lib_div::makeInstance('Tx_Simpleblog_Domain_Repository_PostRepository');
    8. return clone $this->postRepository->findPostForBloglistOrderAndLimit($this->getPosts(), $this->settings);
    9. }

    Ich hätte zar gerne einen Teil in __construct() ausgeführt, aber leider wird __construct() nicht aufgerufen.. #paralyzed#

    Armin

  • layne layne
    Padawan
    0 x
    38 Beiträge
    0 Hilfreiche Beiträge
    09. 03. 2011, 18:37

    [quote="ArminB"]
    Oder, wie kann ich Object einen anderen Object zuordnen?
    [/quote]

    Was genau meinst du hiermit?

    Die Zuordnung erfolgt normal über die Eigenschaft, die du bereits hast, und entsprechende Methoden in denen du weitere Objekte (zum Beispiel Posts) dem Elternobjekt (zum Beispiel Blog) zuordnest. Das ist aber bereits dokumentiert. Zum Beispiel [url=http://www.amazon.de/gp/product/3897219654/ref=s9_simh_gw_p14_d0_i2?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-1&pf_rd_r=0X06FRA38DTPTSDBNEDD&pf_rd_t=101&pf_rd_p=463375193&pf_rd_i=301128]im Buch von Sebastian Kurfürst und Jochen Rau[/url].

  • 1