Zum Inhalt springen

Mapping: fe_users auf tx_mymovie_domain_model_user

Erstellt am 18. November 2011 · 1 Antwort · letzte Antwort am 25. November 2011

Tags: Frontend-Benutzer, Frage

JakobRa ·

Hallo,
ich habe hier ein kleines Problem mit meinem Mapping, vielleicht könnt ihr mir ja weiterhelfen.

So siehts momentan aus:
setup.txt

config.tx_mymovie {
    persistence.classes {
        Tx_MyMovie_Domain_Model_User {
            mapping {
                tableName = fe_users
            }
        }
    }
}

Tx_MyMovie_Domain_Model_User

<?php
class Tx_MyMovie_Domain_Model_User extends Tx_Extbase_Domain_Model_FrontendUser {
     ...
}
?>

So verwende ich den User in meinen anderen Modellen:

<?php
     /**
       * userUid
       *
       * @var Tx_MyMovie_Domain_Model_User
       */
     protected $userUid;
?>

Wenn ich jetzt eines meiner Modelle abfrage bekomme ich als Antwort:

...
["userUid"]=>NULL
...

Das Setup habe ich in Typo3 eingebunden.
Habe ich was vergessen?

Viele Grüße und ein schönes Wochenende,
Jakob

JakobRa ·

Guten Abend,
so hat es jetzt geklappt! 🙂

Repository extends Tx_Extbase_Domain_Repository_FrontendUserRepository
Model extends Tx_Extbase_Domain_Model_FrontendUser

Das Repository muss natürlich im Controller eingefügt werden:

<?php
/**
	 * @param Tx_MyMovie_Domain_Repository_UserRepository $userRepository
	 * @return void
	 */
	public function injectUserRepository(Tx_MyMovie_Domain_Repository_UserRepository $userRepository) {
		$this->userRepository = $userRepository;
	}
?>

...und zu guter letzt das Mapping in der setup.txt die in der Extension unter Configuration liegt...

plugin.tx_mymovie.persistence {
	storagePid = {$plugin.tx_mymovie.persistence.storagePid}
	classes {
		Tx_Extbase_Domain_Model_FrontendUser {
			subclasses {
				Tx_MyMovie_Domain_Model_User = Tx_MyMovie_Domain_Model_User
			}
		}
		Tx_MyMovie_Domain_Model_User {
			mapping {
				tableName = fe_users
				recordType = Tx_MyMovie_Domain_Model_User
			}
		}
	}
...

 # Module configuration
module.tx_mymovie {
	persistence < plugin.tx_mymovie.persistence
	...
}

Grüße
Jakob