web-dev-qa-db-fra.com

Node Référence Views Views Problème

Premièrement, mes excuses si j'utilise une terminologie incorrecte - je suis toujours très A Drupal Newbie!

Je crée un site Web de bande à l'aide de Drupal 6 avec CCK, Vues, ​​date, calendrier, lien, emplacement et gmap. Il a deux types de préoccupation de contenu ici - GIP et lieu.

Le type de contenu "de lieu" dispose d'un champ d'emplacement qui stocke toutes les informations d'adresse. Il possède également d'autres domaines, par exemple "site Web de la salle" (Field_venue_website).

Je souhaite un champ autocomplete sur la page "Créer une gig" pour rechercher un lieu existant du type de contenu "Lieu" et affiche les sites dans une liste déroulante Autocomplète dans le format suivant:

[Nom de lieu], [Ville], [Pays]

Cependant, je souhaite extraire plus d'informations pour être disponible sur la page GIG, de préférence comme celle-ci:

[Nom de l'emplacement] <- de préférence en tant que lien vers la page de la localisation [Street] [Suite] [Ville] [State/Province] [Code postal] [Pays] [Site Web du lieu] <- N'oubliez pas que c'est un champ distinct, pas du champ de localisation.

J'ai partiellement atteint mon objectif en procédant comme suit:

  • Création d'un champ "lieu" (champ_gig_venue) de type Node Référence.
  • Configurez le champ comme suit:
    • Correspondance automatique de l'autocomplete: contient
    • Taille de Textfield: 100
    • Obligatoire: off (peut changer cela plus tard)
    • Nombre de valeurs: 1
    • View Utilisé pour sélectionner les nœuds: Venue_Search
  • Créé une vue (Venue_Search) avec les paramètres suivants:
    • Style de rangée: champs
    • champs Inline :
    • Nom de la localisation
    • Lieu: Ville
    • Lieu: Pays
    • Séparateur:,
    • Masquer les champs vides: oui
    • Des relations:
    • Contenu: Lieu
    • champs :
    • Nom de la localisation
    • Lieu: Ville
    • Lieu: Pays
    • Noeud: Titre (exclure de l'affichage: Oui)
    • filtres :
    • Noeud: Type = lieu

Cela se traduit par la liste déroulante Autocomplete affichant comme étant requise. Lorsque soumis, le résultat est [Nom de l'emplacement] en tant que lien vers la page du lieu.

Cependant, je trouve que la seule partie du lieu reconnu par l'autocomplete est [Nom de l'emplacement]. Par exemple, si j'ai deux salles comme suit:

Kentish Town Forum, London, Royaume-Uni

Tunbridge Wells Forum, Kent, Royaume-Uni

Quand je commence à taper "forum", je vais obtenir une liste de suggestions déroulante qui ressemble à ce qui précède. Super! Cependant, si je tape "UK" ou "London", je ne reçois rien.

Si cela aide, voici la requête générée lorsque je prévisuelle la vue:

SELECT node.nid AS nid,
   location.name AS location_name,
   location.city AS location_city,
   location.country AS location_country,
   node.title AS node_title
 FROM drupal_node node 
 LEFT JOIN drupal_content_type_gig node_data_field_gig_venue ON node.vid = node_data_field_gig_venue.vid
 LEFT JOIN drupal_node node_node_data_field_gig_venue ON node_data_field_gig_venue.field_gig_venue_nid = node_node_data_field_gig_venue.nid
 LEFT JOIN drupal_location_instance location_instance ON node.vid = location_instance.vid
 LEFT JOIN drupal_location location ON location_instance.lid = location.lid
 WHERE node.type in ('venue')

Voici mes questions:

  1. Comment l'obtenez-vous pour que l'autocomplete fonctionne aussi pour la ville ou le pays aussi?
  2. Quelle est la meilleure façon d'obtenir la sortie que j'essive sur la page finale (c'est-à-dire un bloc d'adresse)? Je suppose que je peux ajouter les autres champs pertinents et les exclure de l'affichage en vue, et ils seront disponibles à utiliser. Comment devrais-je les utiliser le mieux? Un seul champ avec les données pré-formatées? Un champ pour chaque valeur?
  3. Comment puis-je obtenir les données collectées à partir de la vue dans le champ?

Toute aide serait grandement appréciée! Merci d'avance!

[ÉDITER]

Comme mentionné ci-dessous, j'ai découvert que ce qui se passe est la suivante:

Le champ AutoComplete prend le texte saisi et cherche à voir quels titres de noeuds dans le type de contenu "Lieu" correspondent à ce texte. Il affiche ensuite les résultats à l'aide de ma vue pour les formater. Voici une photo pour illustrer:

http://img215.imageshack.us/img215/3539/autocomplete.jpg

Pourquoi ignore-t-il mon point de vue lors de la vérification du texte entré, en train de vérifier par rapport aux titres de noeuds?

2
eggplant_casserole

J'ai une alternative pour votre 1. Question. Vous pouvez utiliser le module NODETITLES AUTOMATIC pour créer automatiquement un titre pour les sites dans le formulaire [Location name], [City], [Country] des champs CCK de votre type de contenu. Cela signifie que vous devriez utiliser un champ de texte supplémentaire pour le nom de localisation et le titre serait automatiquement créé pour combiner les trois champs.

Cette solution signifierait que la ville et le pays seraient visibles partout où vous utilisez le titre du type de contenu de la salle, vous devrez décider si cela convient à ce dont vous avez besoin.

0
Mad Scientist
  1. Vous pouvez créer un champ calculé dans le lieu avec le contenu des champs souhaité et utiliser ce champ.

  2. & 3. Une fois que vous avez la référence de nœud, vous pouvez afficher les champs que vous souhaitez utiliser un modèle pour le gig. Sinon, vous pouvez utiliser une vue.

0
sharpbites