web-dev-qa-db-fra.com

Quel est le fichier approprié pour un champ personnalisé lors de la création d'un article réservé à l'administrateur?

En suivant this guide, j’ai créé et installé un plugin, mais j’ai des problèmes pour la dernière étape. La plupart des guides disent de créer un remplacement de modèle et si je crée un remplacement pour com_content/article, default.php aura l'air d'être destiné uniquement au remplacement de la vue de l'utilisateur. Cette autre question a ici une réponse suggérant que le rendu soit effectué dans edit.php, ce qui suggère fortement que ce n'est que pour l'édition d'articles. Est-ce que edit.php est vraiment le lieu idéal? Si tel est le cas, le rendu ainsi contournera-t-il les conditions que j'ai dans ma méthode onContentPrepareForm?

Voici ma méthode onContentPrepareForm, juste au cas où:

function onContentPrepareForm($form,$data)
{
    $app = JFactory::getApplication();
    if(!($form instanceof JForm))
    {
        $this->_subject->setError('JERROR_NOT_A_FORM');
        return false;
    }

    if($form->getName() == 'com_content.article')
    {
        if ($app->isAdmin())
        {
            JForm::addFormPath(__DIR__ . '/forms');
            $form->loadFile('content', false);
        }
    }
}
1
Chase

Je ne comprends pas pourquoi vous voulez faire cela via un plugin (peut-être qu'il me manque quelque chose ici, si je le suis, pourriez-vous s'il vous plaît expliquer).

La façon dont je le ferais, consiste simplement à passer outre le edit.php dans votre fichier de modèle d’administrateur. En d'autres termes, vous ne devriez pas modifier le edit.php fichier directement, mais copiez plutôt le fichier administrator/components/com_content/views/article/tmpl/edit.php à administrator/templates/[the-template-that-you-are-using]/html/com_content/article/edit.php puis modifiez le edit.php fichier ici. Notez que le modèle hathor remplace déjà le modèle edit.php fichier.

1
itoctopus