Intégrateur certifié et Développeur TYPO3

Les autres blogs

Nouveaux marqueurs pour l'extension TYPO3 felogin

Au cours d'un projet, j'ai eu besoin de rajouter de nouveaux marqueurs dans le template de mon extension felogin.

L'extension felogin dispose de nombreux hooks permettant de se "brancher" à différents endroits de l'extension sans avoir besoin de la modifier. De cette manière, il est possible d'ajouter des fonctionnalités à l'extension felogin depuis notre propre extension.

Consulter la liste des hooks disponibles pour l'extension TYPO3 felogin

Le Hook qui nous intéresse ici est postProcContent.

La première chose à faire est de déclarer l'utilisation du hook dans le fichier ext_localconf.php de notre extension :

$TYPO3_CONF_VARS['EXTCONF']['felogin']['postProcContent'][$_EXTKEY] = 'EXT:'.$_EXTKEY.'/Classes/Hooks/class.tx_monextension_hooks.php:tx_monextension_hooks->postProcContent';

Pour l'exemple, mon marqueur sera un lien vers une page, dont le label et l'uid seront paramétrés via la configuration typoscript felogin suivante :

plugin.tx_felogin_pi1 {
    signup = http://monsite.fr/inscription
    _LOCAL_LANG {
        fr {
            signup = S'inscrire
        }
        en {
            signup = Signup
        }
    }
}

Et voici maintenant le contenu de mon fichier PHP qui va me permettre de créer mon marqueur spécifique.

class tx_skinmoncompte_hooks {
    function postProcContent($params, &$pObj) {
        $lang = $GLOBALS['TSFE']->config['config']['language'];
        $label = $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_felogin_pi1.']['_LOCAL_LANG.'][$lang.'.']['signup'];

        $conf = array(
            'parameter' => $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_felogin_pi1.']['signup'],
            'ATagParams' => 'class="specific-link"'
        );

        $markerArray['###SIGNUP###'] = $pObj->cObj->typoLink($label, $conf);

        return $pObj->cObj->substituteMarkerArrayCached($params['content'], $markerArray);
    }
}

Le nouveau marqueur ###SIGNUP### est désormais utilisable dans le template de l'extension felogin.

 

 

Commentaires

commentaires générés par Disqus