Les plats clés
- Drupal est un système de gestion de contenu flexible qui permet la création de nouveaux types de nœuds en écrivant un module personnalisé; Ceci est bénéfique pour la création de sites Web plus complexes au-delà des types de nœuds par défaut et de nœuds.
- La création d'un nouveau type de nœud implique la création d'un module avec trois fichiers: .info (contient des informations sur le module), .install (détails sur ce que le module va installer ou désinstaller) et .module (contient le code pour implémenter le Crochets drupal utilisés par le module).
- Le nouveau type de nœud est installé à l'aide des crochets et des API Drupal, et des champs tels que le titre, la description, etc., sont définis. Le module doit également inclure du code pour nettoyer les données ou les types ajoutés lorsqu'il n'est pas entièrement.
- Des champs supplémentaires peuvent être ajoutés au nouveau type de nœud en créant les champs et les instances de champ dans le fichier .install du module. Cela permet un contenu plus personnalisé, tel que le prix du produit et la quantité dans un type de nœud de produit.
Création de votre module
Commençons par créer la structure de base d'un module dans lequel nous allons créer notre nouveau type de contenu. Pour créer un module, dans le répertoire des sites / all / modules de votre installation Drupal, créez un nouveau répertoire nommé ProductCustomType. Dans ce dossier, créez ensuite trois fichiers:- ProductCustomType.info - contiendra les informations sur le module afin que Drupal le reconnaisse et le montre dans la liste.
- ProductCustomType.install - aura des détails sur les choses que vous allez installer ou désinstaller pour le module.
- ProductCustomType.module - contiendra du code pour implémenter les crochets Drupal utilisés par le module.
name = productcustomtype description = A new content type of Product package = Product Custom node Type core = 7.x files[] = productcustomtype.install files[] = productcustomtype.moduleCe qui précède définit simplement certains paramètres pour notre module afin que Drupal puisse les utiliser et afficher les informations sur notre module. Une fois cela fait, nous devons voir notre module dans la liste des modules comme indiqué ci-dessous. Mais ne le permettez pas encore - nous le ferons après la prochaine étape.
Installation et désinstallant le nœud
Une fois que nous avons en place les fichiers de base du module, nous pouvons commencer à écrire du code pour installer le type de nœud personnalisé. Le premier crochet que nous devons implémenter est Hook_node_info. En utilisant ce crochet, un module peut définir un ou plusieurs types de nœuds dans Drupal. L'implémentation Hook renvoie un tableau définissant le nouveau type de nœud que le module va ajouter. Pour implémenter ce crochet, ajoutez le code suivant à ProductCustomType.module:name = productcustomtype description = A new content type of Product package = Product Custom node Type core = 7.x files[] = productcustomtype.install files[] = productcustomtype.moduleL'implémentation renvoie un tableau définissant un nouveau produit de type de nœud ainsi que certaines de ses propriétés, telles que son nom, la description, si elle a un titre et une base (qui est utilisée dans différents crochets pour ce type de contenu). Comme nous avons défini que ce type de nœud a un titre, nous devons afficher le champ de texte de titre lorsque le formulaire de ce nœud est affiché pour ajouter du contenu. Pour ce faire, nous devrons implémenter le Hook Hook_form. Le crochet hook_form est utilisé pour afficher le formulaire utilisé pour créer / modifier les nœuds. Le crochet est implémenté dans ProductCustomType.module comme suit:
<span><span><?php </span></span><span><span>/** </span></span><span><span> * Implements hook_node_info() </span></span><span><span> */ </span></span><span><span>function productcustomtype_node_info() { </span></span><span> <span>return array( </span></span><span> <span>'product' => array( </span></span><span> <span>'name' => t('Product'), </span></span><span> <span>'base' => 'product', </span></span><span> <span>'description' => t('You can define new Products here'), </span></span><span> <span>'has_title' => TRUE, </span></span><span> <span>'title_label' => t('Product title') </span></span><span> <span>) </span></span><span> <span>); </span></span><span><span>}</span></span></span>Nous utilisons simplement l'API Drupal qui donne une implémentation de Hook_Form et ajoute un champ de titre à condition que la définition du nœud ait le jeu d'attribut Has_Title (que nous avons défini dans notre cas). Une fois que nous l'avons fait, nous devons implémenter le crochet hook_install pour ajouter le champ du corps au nouveau type de nœud. Ajoutez l'implémentation à ProductCustomType.install comme suit:
<span><span><?php </span></span><span><span>/** </span></span><span><span> * Implement hook_form() </span></span><span><span> */ </span></span><span><span>function product_form($node, $form_state) { </span></span><span> <span>return node_content_form($node, $form_state); </span></span><span><span>}</span></span></span>Nous enregistrons d'abord tous les nouveaux types de nœuds créés par différents modules (y compris le nôtre) en appelant la fonction Drupal API Node_types_rebuild (). Ensuite, nous obtenons tous les types de nœuds et appelons node_add_body_field () sur notre type pour ajouter le champ du corps. Une fois que nous l'avons fait, nous pouvons activer notre module qui installera notre nouveau type de nœud. Ensuite, nous devrions pouvoir voir notre nouveau type lorsque nous cliquons sur Ajouter du contenu comme suit:
name = productcustomtype description = A new content type of Product package = Product Custom node Type core = 7.x files[] = productcustomtype.install files[] = productcustomtype.moduleNous découvrons d'abord tous les ID de nœud qui sont des nœuds de notre type de contenu installé. Une fois que nous avons collecté les ID, nous utilisons la fonction API Node_Delete_Multiple () pour supprimer plusieurs nœuds. Ensuite, nous utilisons la fonction node_type_delete () pour supprimer notre type de nœud. Maintenant, si nous désinstallons notre module, tous les nœuds de notre type et de notre type lui-même doivent être supprimés.
Création de champs supplémentaires
Une fois que nous avons ajouté le nouveau type de nœud, nous avons des fonctionnalités similaires à celles d'un nœud. Mais que se passe-t-il si nous voulons ajouter plus de champs en fonction du type de nœud? Par exemple, s'il s'agit d'un type de produit, nous voulons peut-être ajouter deux autres champs comme le prix et la quantité. Pour cela, nous devons d'abord créer les champs, puis créer des instances de champ sur notre type de nœud. Nous écrivons deux nouvelles fonctions dans le fichier ProductCustomType.install pour définir les champs et les instances de champ.<span><span><?php </span></span><span><span>/** </span></span><span><span> * Implements hook_node_info() </span></span><span><span> */ </span></span><span><span>function productcustomtype_node_info() { </span></span><span> <span>return array( </span></span><span> <span>'product' => array( </span></span><span> <span>'name' => t('Product'), </span></span><span> <span>'base' => 'product', </span></span><span> <span>'description' => t('You can define new Products here'), </span></span><span> <span>'has_title' => TRUE, </span></span><span> <span>'title_label' => t('Product title') </span></span><span> <span>) </span></span><span> <span>); </span></span><span><span>}</span></span></span>Nous créons ensuite une fonction add_custom_fields () dans ProductCustomType.install qui lira le tableau et créera les champs et les instances.
<span><span><?php </span></span><span><span>/** </span></span><span><span> * Implement hook_form() </span></span><span><span> */ </span></span><span><span>function product_form($node, $form_state) { </span></span><span> <span>return node_content_form($node, $form_state); </span></span><span><span>}</span></span></span>Maintenant, nous pouvons simplement appeler la fonction add_custom_fields () dans ProductCustomType_install () afin que les champs et les instances de champs soient installés lorsque le module est installé.
<span><span><?php </span></span><span><span>/** </span></span><span><span> * Implements hook_install(). </span></span><span><span> */ </span></span><span><span>function productcustomtype_install() { </span></span><span> <span>node_types_rebuild(); </span></span><span> <span>$types = node_type_get_types();| </span></span><span> <span>node_add_body_field($types['product']); </span></span><span><span>}</span></span></span>Nous devons également mettre à jour notre fonction ProductCustomType_uninstall () pour supprimer les champs et les instances de champ.
<span><span><?php </span></span><span><span>/** </span></span><span><span> * Implements hook_uninstall(). </span></span><span><span> */ </span></span><span><span>function productcustomtype_uninstall() { </span></span><span> <span>$ournewtype = 'product'; </span></span><span> <span>$sql = 'SELECT nid FROM {node} n WHERE n.type = :type'; </span></span><span> <span>$result = db_query($sql, array(':type' => $ournewtype)); </span></span><span> <span>$nodeids = array(); </span></span><span> <span>foreach ($result as $row) { </span></span><span> <span>$nodeids[] = $row->nid; </span></span><span> <span>} </span></span><span> <span>node_delete_multiple($nodeids); </span></span><span> <span>node_type_delete($ournewtype); </span></span><span><span>}</span></span></span>Installez à nouveau le module et cliquez sur le produit pour ajouter un nouveau produit et nous devrions voir les deux champs comme indiqué ci-dessous:
Conclusion
Le Drupal CMS fournit de nombreux crochets utiles et une API puissante qui nous permet d'effectuer diverses personnalisations. Dans cet article, nous avons pu créer un type de nœud complètement nouveau qui apparaîtra dans la section de contenu de Drupal. Et en utilisant l'API de Drupal, nous avons également attaché des champs à ce nouveau type de nœud afin que n'importe qui puisse facilement ajouter du contenu à l'aide du nouveau type de nœud. Amusez-vous donc à créer votre prochain nouveau type de nœud pour votre site Drupal. Image via FotoliaDes questions fréquemment posées sur la création d'un nouveau type de nœud drupal
Qu'est-ce qu'un type de nœud drupal et pourquoi est-il important?
Un type de nœud drupal, également appelé type de contenu, est une collection prédéfinie de types de données (champs) qui se rapportent les uns aux autres par un contexte d'information. Cela pourrait être un simple article de blog, un article, une nouvelle, un sujet de forum ou un tutoriel, entre autres. Les types de nœuds sont importants car ils fournissent un moyen structuré de saisir, d'afficher et de gérer le contenu dans Drupal. Ils permettent la personnalisation des paramètres d'entrée, de validation et d'affichage des données, ce qui peut améliorer considérablement l'expérience utilisateur et la fonctionnalité globale d'un site Drupal.
Comment puis-je créer un nouveau type de nœud dans Drupal?
La création d'un nouveau type de nœud dans Drupal est un processus simple. Tout d'abord, accédez au menu «Structure» dans votre tableau de bord Drupal Admin, puis sélectionnez «Types de contenu». Cliquez sur le bouton «Ajouter le type de contenu». Vous serez invité à remplir le nom, la description et les paramètres de votre nouveau type de nœud. Une fois que vous avez rempli les informations nécessaires, cliquez sur le bouton «Enregistrer et gérer les champs» pour ajouter des champs à votre nouveau type de nœud.
Puis-je personnaliser les champs dans mon type de nœud Drupal?
Oui, vous pouvez personnaliser les champs de votre type de nœud Drupal. Après avoir créé un nouveau type de nœud, vous pouvez ajouter, modifier ou supprimer les champs selon les besoins. Cela vous permet d'adapter le type de nœud à vos besoins de contenu spécifiques. Par exemple, vous pouvez ajouter un champ de texte pour un résumé d'article, un champ d'image pour une image en vedette ou un champ de date pour une date de publication.
Comment puis-je gérer les paramètres d'affichage pour mon type de nœud Drupal?
Drupal fournit un onglet «Gérer l'affichage» pour chaque type de nœud. Cela vous permet de contrôler la façon dont chaque champ est affiché lorsque le nœud est affiché. Vous pouvez ajuster l'étiquette, le format et l'ordre de chaque champ. Vous pouvez également regrouper les champs dans des modes d'affichage personnalisés, tels qu'une vue de teaser ou une vue complète de contenu.
Puis-je utiliser l'API du nœud de Drupal pour créer par programme des nœuds?
Oui, Drupal's Node API fourni Un moyen puissant de créer, mettre à jour et supprimer des nœuds par programmation. Cela peut être utile pour des tâches telles que l'importation de contenu à partir d'un autre système, la génération de données de test ou la création de workflows personnalisés. L'API du nœud fait partie du système de base de Drupal, il est donc disponible dans toutes les installations de Drupal.
Quels sont les types de nœuds de base dans Drupal?
Drupal est livré avec plusieurs types de nœuds de base, y compris l'article, la page de base, l'entrée de blog, le sujet du forum et le sondage. Ceux-ci fournissent un point de départ pour gérer le contenu dans Drupal. Cependant, vous pouvez également créer vos propres types de nœuds personnalisés pour répondre à vos besoins spécifiques.
Comment puis-je contrôler l'accès à mes nœuds Drupal?
DRUPAL Fournit un système robuste pour contrôler l'accès aux nœuds. Vous pouvez définir des autorisations en fonction des rôles utilisateur, vous permettant de contrôler qui peut afficher, créer, modifier et supprimer les nœuds de chaque type. Vous pouvez également utiliser l'API d'accès au nœud de Drupal pour créer des règles d'accès plus complexes.
Puis-je utiliser le module de vues de Drupal pour afficher mes nœuds?
Oui, le module Views de Drupal est un outil puissant pour afficher les nœuds . Vous pouvez créer des vues personnalisées qui affichent des nœuds en fonction de divers critères, tels que le type de nœud, le statut de publication ou l'auteur. Vous pouvez également personnaliser le format d'affichage, le tri et la pagination de vos vues.
Comment puis-je thème mes nœuds Drupal?
Drupal fournit un système de thème flexible qui vous permet de contrôler l'apparence et sensation de vos nœuds. Vous pouvez créer des modèles personnalisés pour chaque type de nœud, et vous pouvez utiliser l'API de thème de Drupal pour ajouter CSS et JavaScript personnalisés à vos nœuds.
Puis-je étendre la fonctionnalité de mes nœuds Drupal avec des modules?
Oui, l'architecture modulaire de Drupal vous permet d'étendre la fonctionnalité de vos nœuds avec des modules. Il existe des milliers de modules contribués disponibles qui peuvent ajouter des fonctionnalités telles que des galeries d'images, des commentaires, des notes et une intégration des médias sociaux à vos nœuds. Vous pouvez également créer vos propres modules personnalisés si vous avez des besoins spécifiques qui ne sont pas satisfaits par les modules disponibles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

PHP convient au développement Web, en particulier dans le développement rapide et le traitement du contenu dynamique, mais n'est pas bon dans les applications de la science des données et de l'entreprise. Par rapport à Python, PHP présente plus d'avantages dans le développement Web, mais n'est pas aussi bon que Python dans le domaine de la science des données; Par rapport à Java, PHP fonctionne moins bien dans les applications au niveau de l'entreprise, mais est plus flexible dans le développement Web; Par rapport à JavaScript, PHP est plus concis dans le développement back-end, mais n'est pas aussi bon que JavaScript dans le développement frontal.

PHP et Python ont chacun leurs propres avantages et conviennent à différents scénarios. 1.PHP convient au développement Web et fournit des serveurs Web intégrés et des bibliothèques de fonctions riches. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et une bibliothèque standard puissante. Lors du choix, il doit être décidé en fonction des exigences du projet.

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

Les raisons pour lesquelles PHP est la pile technologique préférée pour de nombreux sites Web incluent sa facilité d'utilisation, son soutien communautaire solide et son utilisation généralisée. 1) Facile à apprendre et à utiliser, adapté aux débutants. 2) Avoir une énorme communauté de développeurs et des ressources riches. 3) Largement utilisé dans WordPress, Drupal et d'autres plateformes. 4) Intégrez étroitement aux serveurs Web pour simplifier le déploiement du développement.

PHP reste un outil puissant et largement utilisé dans la programmation moderne, en particulier dans le domaine du développement Web. 1) PHP est facile à utiliser et intégré de manière transparente aux bases de données, et est le premier choix pour de nombreux développeurs. 2) Il prend en charge la génération de contenu dynamique et la programmation orientée objet, adaptée à la création et à la maintenance des sites Web rapidement. 3) Les performances de PHP peuvent être améliorées en mettant en cache et en optimisant les requêtes de base de données, et sa vaste communauté et son écosystème riche le rendent toujours important dans la pile technologique d'aujourd'hui.

En PHP, les références faibles sont mises en œuvre via la classe FaibleRreference et n'empêcheront pas le collecteur des ordures de récupérer des objets. Les références faibles conviennent aux scénarios tels que les systèmes de mise en cache et les auditeurs d'événements. Il convient de noter qu'il ne peut garantir la survie des objets et que la collecte des ordures peut être retardée.

La méthode \ _ \ _ Invoke permet aux objets d'être appelés comme des fonctions. 1. Définissez la méthode \ _ \ _ Invoquer afin que l'objet puisse être appelé. 2. Lorsque vous utilisez la syntaxe $ obj (...), PHP exécutera la méthode \ _ \ _ Invoke. 3. Convient pour des scénarios tels que la journalisation et la calculatrice, l'amélioration de la flexibilité et de la lisibilité du code.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.