Fiche Produit créer des champs personnalisés

cpalocpalo Member

Bonjour,
J'ai des articles ( des fiches produits) classés dans des categories et sous-catégories.
Lors de l'édition ou la création de ces articles, j'aurai souhaité disposé de champs personnalisés pour les saisir dans l'éditeur ( prix, image, description, ..)
Finalement je voulais me lancer dans un petit plugin pour créer ces champs, mais besoin d'aide et je fais peut-etre fausse route en passant à côté d'une autre solution;
Le début de mon code:

<?php
class CustomFields extends plxPlugin {

    // Déclaration des hooks
    public function __construct($defaultLang) {
        parent::__construct($defaultLang);

        // Définir les profils autorisés à utiliser ce plugin
        $this->setConfigProfil(PROFIL_ADMIN, PROFIL_MANAGER, PROFIL_EDITOR);

        // Ajouter des hooks pour l'éditeur d'article
        $this->addHook('AdminArticleEdit', 'AdminArticleEdit');
        $this->addHook('AdminArticleNew', 'AdminArticleNew');
        $this->addHook('AdminHeadEnd', 'AdminHeadEnd'); // Hook pour charger le CSS
    }

    // Méthode pour charger le CSS dans l'admin
    public function AdminHeadEnd() {
        echo '<link rel="stylesheet" type="text/css" href="' . PLX_PLUGINS . 'customfields/css/admin.css" />';
    }

    // Fonction pour afficher les champs personnalisés dans l'éditeur
    public function AdminArticleEdit() {
        $this->displayCustomFields();
    }

    public function AdminArticleNew() {
        $this->displayCustomFields();
    }

    // Fonction pour afficher les champs
    private function displayCustomFields() {
        $plxAdmin = plxAdmin::getInstance();
        $article = $plxAdmin->aArt;

        // Début de la section des champs personnalisés
        echo '<div class="fieldset" id="customfields-section">';
        echo '<h3>Champs personnalisés</h3>';

        // Champ Prix
        echo '<div class="field">';
        echo '<label for="prix">Prix (€)</label>';
        echo '<input type="text" name="prix" id="prix" value="' . (isset($article['prix']) ? htmlspecialchars($article['prix']) : '') . '" size="10" />';
        echo '<p class="help">Prix du produit en euros (ex: 29.99)</p>';
        echo '</div>';

        // Champ Images supplémentaires
.....

  // Fin de la section
        echo '</div>';
    }
}
?>
Connectez-vous ou Inscrivez-vous pour répondre.