web-dev-qa-db-fra.com

Ajouter des champs supplémentaires à l'article

J'essaie de créer un plugin simple qui ajoute 4 champs de texte aux options de l'article. Mais je ne le fais pas fonctionner.

Ceci est ma structure de plugin:

extrafields.xml extrafields.php

Voici le contenu des fichiers:

extrafields.xml

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.1" type="plugin" group="content" method="upgrade">
    <name>plg_content_extrafields</name>
    <version>3.6.5</version>
    <description>Extra fields voor articles</description>
    <files>
        <filename plugin="article">extrafields.php</filename>
    </files>
    <config>

    </config>
</extension>

extrafields.php

<?php
// no direct access
defined( '_JEXEC' ) or die;

class plgContentExtrafields extends JPlugin
{
    /**
     * Load the language file on instantiation. Note this is only available in Joomla 3.1 and higher.
     * If you want to support 3.0 series you must override the constructor
     *
     * @var    boolean
     * @since  3.1
     */
    protected $autoloadLanguage = true;

    /**
     * Plugin method with the same name as the event will be called automatically.
     */
    function onContentPrepareForm($form, $data)
    {
        $app    = JFactory::getApplication();
        $option = $app->input->get('option');

        switch($option)
        {
            case 'com_content' :
                if ($app->isAdmin())
                {
                    JForm::addFormPath(__DIR__ . '/forms');
                    $form->loadFile('extrafields', false);
                }
                return true;
        }

        return true;
    }
}
?>

Maintenant, je peux l’installer avec succès, mais lorsque j’essaie d’accéder au plug-in, il indique "article.xml non trouvé". Et lorsque j’accède aux articles, je ne vois aucun champ, onglet ou autre élément supplémentaire. La documentation actuelle pour l'ajout de champs est limitée aux contacts et ne correspond pas vraiment au composant de l'article. Est-ce que quelqu'un peut m'aider?

1
Huub S

Il y a eu quelques erreurs. Comme Farahmand l’a déjà vu, le dossier n’a pas été spécifié dans le XML d’installation.

De plus, j'ai commis quelques erreurs dans le fichier extrafields.php:

switch($option)
        {
            case 'com_content' :
                if ($app->isAdmin())
                {
                    JForm::addFormPath(__DIR__ . '/extrafields');
                    $form->loadFile('extrafields', false);
                }
                return true;
        }

Nécessaire pour changer l'évaluation dans la carte d'extafields.

1
Huub S

Le champ Expert personnalisé est l'option la plus simple pour cela. Il est gratuit à télécharger et nous pouvons facilement ajouter un champ personnalisé à l'article.

Encore une chose que Joomla 3.7 proposera également avec cette fonctionnalité en tant que fonctionnalité principale et fonctionnalité permettant d’ajouter un champ personnalisé.

1
Info Truth