Hallo!
Ich möchte den Hook addComment nutzen, um eine zusätzlich Checkbox in das Formular einzubauen, wo der User einen Kommentar zu News hinterlassen kann. Hier soll der Kommentator die Möglichkeit bekommen, bei weiteren Kommentaren per Mail benachrichtigt zu werden.
Also registriere ich meine Funktion in der Config meines Moduls:
PHP-Code:
$GLOBALS['TL_HOOKS']['addComment'][] = array('Notify_Commentators', 'notifyCommentators');
In der Klasse Comments (die ich mit meiner Klasse erweitere) gibt es in der Funktion addCommentsToTemplate die Stelle, wo die Formularfelder definiert werden:
PHP-Code:
// Form fields
$arrFields = array
(
'name' => array
(
'name' => 'name',
'label' => $GLOBALS['TL_LANG']['MSC']['com_name'],
'value' => trim($this->User->firstname . ' ' . $this->User->lastname),
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'maxlength'=>64)
),
'email' => array
(
'name' => 'email',
'label' => $GLOBALS['TL_LANG']['MSC']['com_email'],
'value' => $this->User->email,
'inputType' => 'text',
'eval' => array('rgxp'=>'email', 'mandatory'=>true, 'maxlength'=>128, 'decodeEntities'=>true)
),
'website' => array
(
'name' => 'website',
'label' => $GLOBALS['TL_LANG']['MSC']['com_website'],
'inputType' => 'text',
'eval' => array('rgxp'=>'url', 'maxlength'=>128, 'decodeEntities'=>true)
)
);
Weiter unten wird dann meine Hook-Funktion aufgerufen:
PHP-Code:
// HOOK: add custom logic
if (isset($GLOBALS['TL_HOOKS']['addComment']) && is_array($GLOBALS['TL_HOOKS']['addComment']))
{
foreach ($GLOBALS['TL_HOOKS']['addComment'] as $callback)
{
$this->import($callback[0]);
$this->$callback[0]->$callback[1]($insertId, $arrSet);
}
}
Da ich ja das $arrSet übergeben bekomme, kann ich das zwar modifizieren, ich müsste aber mein neues Formularfeld auch in $arrFields einbauen, damit die Sache funktioniert. Weiss aber nicht, wie
Weiss jemand Rat?
Lesezeichen