国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison développement back-end tutoriel php Exposer des tables à des vues dans Drupal 7

Exposer des tables à des vues dans Drupal 7

Feb 21, 2025 am 08:39 AM

Exposing Tables to Views in Drupal 7

Concepts clés

Ce didacticiel montre comment intégrer les tables de base de données Drupal 7 personnalisées avec le module Views, permettant de puissantes capacités de requête et de présentation de données. Nous couvrirons la prise de vue de la structure de table de votre module, la définition de gestionnaires de champs pour l'affichage, le filtrage et le tri et l'établissement de relations entre les tables à l'aide de jointures. Le processus exploite les gestionnaires de vues - classes gérant les opérations d'affichage, de tri et de filtrage - permettant la personnalisation au-delà des fonctionnalités par défaut.

Ce guide se concentre sur les tables non représentées comme des entités Drupal. Pour l'intégration d'entité avec les vues, veuillez vous référer à d'autres ressources.

Un exemple de module, "Expose", est disponible (détails du référentiel omis pour la concision). Le tableau exposed (structure détaillée ci-dessous) sera utilisé pour la démonstration. Les exemples de données peuvent être insérés à l'aide de cette commande MySQL:

INSERT INTO `exposed` (`id`, `name`, `deadline`, `node_id`) VALUES (1, 'Danny', 1399477939, 1), (2, 'Peter', 1399477957, 2);

Intégration de votre table avec les vues

L'intégration implique deux étapes clés: information des vues sur votre module et définition de la structure de votre table.

étape 1: Informer les vues sur votre module

implémenter hook_views_api() dans le fichier .module de votre module:

/**
 * Implements hook_views_api().
 */
function expose_views_api() {
  return array(
    'api' => 3,
    'path' => drupal_get_path('module', 'expose') . '/includes/views',
  );
}

Cela spécifie la version API des vues et l'emplacement de vos fichiers liés aux vues.

étape 2: Définition de la structure de votre table

Créer expose.views.inc (dans le répertoire spécifié ci-dessus) et implémenter hook_views_data():

/**
 * Implements hook_views_data().
 */
function expose_views_data() {
  $data = array();
  $data['exposed']['table']['group'] = t('Exposed');
  $data['exposed']['table']['base'] = array(
    'title' => t('Exposed'),
    'help' => t('Contains records exposed to Views.'),
  );
  // Field definitions (see below)
  return $data;
}

Ce code définit le groupe de la table et le désigne comme une table de base, ce qui la rend disponible dans l'interface des vues. Les définitions de champ (détaillées suivantes) seront ajoutées ici.

étape 3: Définition des champs

Dans hook_views_data(), ajoutez des définitions de champ pour chaque colonne:

// ... (previous code) ...

// ID field
$data['exposed']['id'] = array(
  'title' => t('ID'),
  'help' => t('Record ID'),
  'field' => array('handler' => 'views_handler_field_numeric'),
  'sort' => array('handler' => 'views_handler_sort'),
  'filter' => array('handler' => 'views_handler_filter_numeric'),
);

// Name field
$data['exposed']['name'] = array(
  'title' => t('Name'),
  'help' => t('Record name'),
  'field' => array('handler' => 'views_handler_field'),
  'sort' => array('handler' => 'views_handler_sort'),
  'filter' => array('handler' => 'views_handler_filter_string'),
);

// Deadline field
$data['exposed']['deadline'] = array(
  'title' => t('Deadline'),
  'help' => t('Record deadline'),
  'field' => array('handler' => 'views_handler_field_date'),
  'sort' => array('handler' => 'views_handler_sort_date'),
  'filter' => array('handler' => 'views_handler_filter_date'),
);

// ... (Node ID field and join definition - see below) ...

return $data;

Cela spécifie les gestionnaires pour l'affichage (field), le tri (sort) et le filtrage (filter) pour chaque colonne. Les gestionnaires appropriés (par exemple, numérique, cha?ne, date) sont sélectionnés en fonction des types de données.

étape 4: Gestion des relations (rejoindre)

pour rejoindre le tableau node en utilisant la colonne node_id:

// ... (previous code) ...

// Join definition
$data['exposed']['table']['join'] = array(
  'node' => array(
    'left_field' => 'nid',
    'field' => 'node_id',
  ),
);

// Node ID field
$data['exposed']['node_id'] = array(
  'title' => t('Node ID'),
  'help' => t('Node ID'),
  'field' => array('handler' => 'views_handler_field_node'),
  'sort' => array('handler' => 'views_handler_sort'),
  'filter' => array('handler' => 'views_handler_filter_numeric'),
  'relationship' => array(
    'base' => 'node',
    'field' => 'node_id',
    'handler' => 'views_handler_relationship',
    'label' => t('Node'),
  ),
  'argument' => array(
    'handler' => 'views_handler_argument_node_nid',
    'numeric' => TRUE,
    'validate type' => 'nid',
  ),
);

return $data;

Ceci définit la jointure et spécifie le gestionnaire views_handler_field_node pour l'affichage, permettant l'accès aux champs liés au n?ud. Une relation et un argument sont également définis pour le filtrage et le filtrage contextuel basé sur l'ID de n?ud.

Après implémentation de ces étapes, effacez le cache de Drupal. Votre table personnalisée doit désormais être accessible dans l'interface des vues.

Conclusion

Cette explication détaillée fournit un guide complet pour intégrer les tables personnalisées avec le module Views de Drupal 7. N'oubliez pas d'adapter les sélections de gestionnaires à vos types de données spécifiques et de tirer parti de la flexibilité des gestionnaires personnalisés pour les fonctionnalités avancées. La section FAQ de l'entrée d'origine a été omise car elle est largement couverte dans cette réponse raffinée.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Guide de construction d'Agnes Tachyon | Un joli Musume Derby
2 Il y a quelques semaines By Jack chen
Oguri Cap Build Guide | Un joli Musume Derby
2 Il y a quelques semaines By Jack chen
Péx: comment raviver les joueurs
4 Il y a quelques semaines By DDD
Guide de construction de Grass Wonder | Uma musume joli derby
1 Il y a quelques semaines By Jack chen
Pic comment émoter
3 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre en ?uvre l'authentification et l'autorisation dans PHP? Comment mettre en ?uvre l'authentification et l'autorisation dans PHP? Jun 20, 2025 am 01:03 AM

ToseCurelyHandleAuthentication andAuthorizationInPhp, suivitheSesteps: 1.AlwayShashPasswordSwithPassword_Hash () etverifyusingPassword_verify (), usePreparedStatementStopReventsQLendiject, andstoreSerDatain $ _SessionAfterLogin.2

Comment rester à jour avec les derniers développements PHP et meilleures pratiques? Comment rester à jour avec les derniers développements PHP et meilleures pratiques? Jun 23, 2025 am 12:56 AM

TostayCurrentwithPhpDevelopments andBestPractices, suiventyewnewsources likephp.netandphpweekly, engagewithcommunitiesonforumums et conférences, keeptoolingupdated etgradualadoptnewfeatures, etreadorontruttetoopensourceprojects.

Qu'est-ce que PHP et pourquoi est-il utilisé pour le développement Web? Qu'est-ce que PHP et pourquoi est-il utilisé pour le développement Web? Jun 23, 2025 am 12:55 AM

PhpBecamepopularforwebDevelopmentDuetoitSeaseOflearning, Samoussentegration withhtml, widespreadhostingsupport, andalargecosystemysteclustingframeworkslikeLaravelandcmsplateformeslikewordpress.itexcelSinlingFormSubMissions, ManagetingSeSeSessions, interactif, interactif

Comment définir le fuseau horaire PHP? Comment définir le fuseau horaire PHP? Jun 25, 2025 am 01:00 AM

Tosetherighttimezoneinphp, usedate_default_timezone_set () Fonctionnellestartofyourscriptwithavalididentifiersuchas'america / new_york'.1.usedate_default_timezone_set () beforeanydate / timefunctions.20

Comment installer PHP sur mon système d'exploitation (Windows, MacOS, Linux)? Comment installer PHP sur mon système d'exploitation (Windows, MacOS, Linux)? Jun 20, 2025 am 01:02 AM

La méthode d'installation de PHP varie d'un système d'exploitation au système d'exploitation. Voici les étapes spécifiques: 1. Les utilisateurs de Windows peuvent utiliser XAMPP pour installer des packages ou les configurer manuellement, télécharger XAMPP et les installer, sélectionner des composants PHP ou ajouter PHP aux variables d'environnement; 2. Les utilisateurs de MacOS peuvent installer PHP via Homebrew, exécuter la commande correspondante pour installer et configurer le serveur Apache; 3. Les utilisateurs de Linux (Ubuntu / Debian) peuvent utiliser le gestionnaire de package APT pour mettre à jour la source et installer des extensions PHP et communes, et vérifier si l'installation est réussie en créant un fichier de test.

Comment valider la saisie des utilisateurs dans PHP pour m'assurer qu'il répond à certains critères? Comment valider la saisie des utilisateurs dans PHP pour m'assurer qu'il répond à certains critères? Jun 22, 2025 am 01:00 AM

TovalidateUserInputinPhp, usebuilt-invalidationfunctions likeFilter_var () etFilter_Input (), appliquerareArexpressionsforcustomFormatsSuchasUserNameSorphonEnombers

Comment détruire une session en php en utilisant session_destroy ()? Comment détruire une session en php en utilisant session_destroy ()? Jun 20, 2025 am 01:06 AM

Pour détruire complètement une session dans PHP, vous devez d'abord appeler Session_Start () pour démarrer la session, puis appeler session_destroy () pour supprimer toutes les données de session. 1. Utilisez d'abord session_start () pour s'assurer que la session a commencé; 2. Ensuite, appelez session_destroy () pour effacer les données de session; 3. Facultatif mais recommandé: Réflexion manuelle $ _Session Tableau pour effacer les variables globales; 4. En même temps, supprimez les cookies de session pour empêcher l'utilisateur de conserver l'état de session; 5. Enfin, faites attention à la redirection de l'utilisateur après la destruction et évitez de réutiliser immédiatement les variables de session, sinon la session doit être redémarrée. Cela garantira que l'utilisateur quitte complètement le système sans laisser d'informations résiduelles.

Qu'est-ce que la sérialisation des données dans PHP (Serialize (), Unserialize ())? Qu'est-ce que la sérialisation des données dans PHP (Serialize (), Unserialize ())? Jun 22, 2025 am 01:03 AM

ThePhpFunctionSerialize () andUnserialize () sont utilisés pour le stobercomplexdatasterDestoRoSintOsTorasandAbackAgain.1.Serialize () C onvertsDatalikECarraysorObjectSraystringContainingTypeandStructureInformation.2

See all articles