Hallo liebe Community,
gerne würde ich ein Modul erstellen, welches Personen verwaltet.
Die Personen können in den Einstellungen gewisse Daten zugewiesen bekommen (Name, Tel., Adresse usw.). Das funktioniert auch wunderbar.
Jetzt soll jede Person auch noch die Möglichkeit haben Inhaltselemente zu erhalten, welche auf einer Detailseite der Person ausgegeben werden. Im Endeffekt verhält sich das ein wenig wie Artikelteaser und Artikel.
Dazu habe ich im DCA das im Bereich Config stehen:
PHP-Code:
// Config
'config' => array
(
'dataContainer' => 'Table',
'ctable' => array('tl_content'),
'switchToEdit' => true,
'enableVersioning' => true,
'sql' => array
(
'keys' => array
(
'id' => 'primary'
)
),
),
Auch wird im DCA ein Feld für den Alias erzeugt, welcher später die entsprechende URL-Erweiterung darstellen soll:
PHP-Code:
'alias' => array
(
'sql' => "varchar(128) NULL",
'label' => &$GLOBALS['TL_LANG']['tl_personen_person']['alias'],
'explanation' => &$GLOBALS['TL_LANG']['tl_personen_person']['alias'],
'exclude' => false,
'inputType' => 'text',
'eval' => array('rgxp'=>'alnum', 'doNotCopy'=>true, 'spaceToUnderscore'=>true, 'maxlength'=>128, 'tl_class'=>'w50'),
'save_callback' => array
(
array('tl_personen_person', 'generateAlias')
)
),
Soweit alles gut und alles klar und funktionsfähig.
So jetzt aber die Ausgabe und Datenaufbereitung für die Templates.
Das Standardtemplate
PHP-Code:
protected $strTemplate = 'personenkreis_liste';
gibt mir die Personen alle als Liste aus. Funktioniert soweit:
Für das Standardtemplate gehe ich her und lade im Modul meine Daten für das Template
PHP-Code:
$this->personenkreis = \Personen\PersonenkreisModel::findByPk($this->personen_personenkreis);
$this->Template->personenkreis = $this->personenkreis;
Ich hätte gerne noch ein Detailtemplate
PHP-Code:
protected $strDetailTemplate = 'personenkreis_detail';
welches dann für die Detailausgabe zuständig ist.
Fragen:
- Wie mache ich das für das Detailtemplate welches ja dann alle möglichen Inhaltselementtypen (Text, Überschrift, Galerie, Downloads ...) haben kann?
- Wie wird der Detaillink generiert aus dem Alias?
- Wie sieht das Template zur Darstellung aller möglichen Inhaltselementtypen aus?
Vielleicht ist mein Ansatz auch vollkommen falsch.
Ich habe mir dazu natürlich das Modul ModuleArticle.php aus dem Core angeschaut. Aber vielleicht kann das jemand bitte näher erläutern was ich jetzt noch machen müsste?
Viele Grüße
Lesezeichen