Auteur de la page

Annoncée comme une nouvelle fonctionnalité de la prochaine version de TYPO3, la version 4.2 (qui n’est pour l’instant disponible en version bêta), il n’existe dans la version actuelle pas de moyen prévu pour définir ou mettre à jour l’auteur d’une page. La base de données contient pourtant dans les tables pages et pages_language_overlay des champs concernant l’auteur. Il s’agit des colonnes cruser_id (creation user id), author (nom de l’auteur) et author_email (email de l’auteur).

Malheureusement, seule la colonne cruser_id est initialisée. La solution est toute simple en attendant la prochaine version de TYPO3 puisqu’il suffit d’installer l’extension  fhm_author. Une fois installée, cette extension va automatiquement mettre à jour les champs author et author_email à chaque modification d’un élément de contenu de la page. Ces colonnes contiennent donc les informations du dernier rédacteur.

Utilisation en TypoScript

lib.Author = TEXT
lib.Author {
	data = page:author
	typolink.parameter.data = page:author_email
}

Mise à niveau de la base de données

L’extension fhm_author ne va pas pour autant mettre à jour ces deux champs tant que la page n’est pas modifiée. Pour gagner du temps, il est possible de mettre à jour ces informations au moyen de la requête SQL suivante qui va se baser sur la colonne cruser_id pour remplir les colonnes author et author_email.

UPDATE pages SET
    author = (
        SELECT realName
        FROM be_users u
        WHERE u.uid = pages.cruser_id
    ),
    author_email = (
        SELECT email
        FROM be_users u
        WHERE u.uid = pages.cruser_id
    )
WHERE doktype = 1 AND author = '' AND author_email = '';
 
UPDATE pages_language_overlay SET
    author = (
        SELECT realName
        FROM be_users u
        WHERE u.uid = pages.cruser_id
    ),
    author_email = (
        SELECT email
        FROM be_users u
        WHERE u.uid = pages.cruser_id
    )
WHERE doktype = 1 AND author = '' AND author_email = '';
Flattr