[TYPO3-mvc] Using ObjectStorage properly

Søren Malling soren.malling at gmail.com
Thu May 6 11:48:24 CEST 2010


Hi,

First, thanks to Felix for his great help on my last issue! I found
I've made wrong declaration on alot of my properties :)

Onto next (hopefully eyeopening) issue  :-)

I'm building a XML output with members of a club and club information.

I've come to the part where I need to get the members of the currenct
club object. All members are fe_users with a "club" field (related to
another model I've made)

I took a look on the blog_example extension and how they get posts for a blog.

In there Blog Model they got

  /**
     * The posts of this blog
     *
     * @var Tx_Extbase_Persistence_ObjectStorage<Tx_BlogExample_Domain_Model_Post>
     * @lazy
     * @cascade remove
     */
    protected $posts

and then they simple give it a objectstorage in the __construct function

        $this->posts = new Tx_Extbase_Persistence_ObjectStorage();

In the blog controller all blogs are assigned to the Fluid template with

        $this->blogRepository =
t3lib_div::makeInstance('Tx_BlogExample_Domain_Repository_BlogRepository');
and
        $this->view->assign('blogs', $this->blogRepository->findAll());

and doing a foreach loop in fluid
<f:for each="{blogs}" as="blog">
<dt>
<f:link.action action="index" controller="Post" arguments="{blog : blog}">
{blog.title} (<f:count subject="{blog.posts}" />)
</f:link.action>
...
</f:for>

I created a property in my club model

        /**
         * Members of club
         * @var
Tx_Extbase_Persistence_ObjectStorage<Tx_Ysmenmembers_Domain_Model_Member>
         */
        protected $members;

        public function __construct() {
                $this->members = new Tx_Extbase_Persistence_ObjectStorage();
        }

        /**
         * Get members of club
         * @return
Tx_Extbase_Persistence_ObjectStorage<Tx_Ysmenmembers_Domain_Model_Member>
         */
        public function getMembers() {
                return $this->members;
        }

As I've seen in the blog_example.

This is where I'm stucked. How does this objectstorage know what data
to return? And should this be handled in a different way, using a
memberRepository instead?

Regards,

Søren

-- 
Officially Certified TYPO3 Integrator


More information about the TYPO3-project-typo3v4mvc mailing list