2017-08-30 4 views
0

J'ai créé une extension dans TYPO3 8.7 et étendu fe_users avec nouveau champ "acceptedagb". Il n'est affiché que si je sélectionne "Tx_Feuserextend_User" dans le type de données. Alors est-il possible de toujours afficher les nouveaux champs, même si rien n'est sélectionné? Sur d'autres extensions comme "nouvelles" il est possible ...Toujours afficher les éléments étendus pour l'utilisateur frontend

merci pour l'aide! martin

Répondre

0

Je résolus pour moi de mettre en valeur par défaut dans la page TSConfig:

TCAdefaults.fe_users.tx_extbase_type = Tx_Feuserextend_User 
0

L'extension fait un peu plus de magie car elle génère des classes de proxy.

Ce que vous pouvez faire est dans votre TypoScript

config.tx_extbase.persistence.classes { 
    YourVendor\YourNamespace\Domain\Model\User { 
     mapping { 
      tableName = fe_users 
     } 
    } 
} 

Le modèle ressemblerait à ceci

<?php 

namespace YourVendor\YourNamespace\Domain\Model; 

use TYPO3\CMS\Extbase\Domain\Model\FrontendUser; 


class User extends FrontendUser 
{ 

    /** 
    * @var string 
    */ 
    protected $addresses; 

    ... getter/setters 

} 

Maintenant vous pouvez utiliser votre modèle partout dans votre extension.


Important à savoir: Partout, où le modèle d'origine TYPO3\CMS\Extbase\Domain\Model\FrontendUser est utilisé, la nouvelle propriété est toujours pas disponible et il n'y a aucun moyen réel pour l'ajouter là.

+0

merci! Je l'ai ajouté à un modèle -> configuration et a également changé ext_typoscript_setup.txt - mais nouveau domaine ne sont montrées si je sélectionne le type de données ...? – matin

+0

Comme dit, cela ne fonctionne que dans vos propres modèles –

+0

oui, merci. en frontend je peux obtenir des données de nouveaux champs. mais je veux voir de nouveaux champs dans le backend. Je peux seulement les voir si je choisis "Tx_Feuserextend_User" dans le type de données ... – matin