2016-08-01 3 views
0

Je fais une offres d'emploi site Drupal qui a 2 types de contenu, des emplois et company.Company a logo l'image field.I voulez faire référence à l'image du logo de l'entreprise de vue noeud de l'emploi et Afficher la liste des tâches avec vue, y compris le logo de l'entreprise sur la page d'accueil. J'ai installé le module de référence et le module de référence d'entité, mais je ne sais pas comment le faire. Je peux référencer une société avec une référence de noeud mais je ne peux pas référencer le logo (champ en entreprise).Comment référencer logo l'image de différents noeuds dans drupal7

ce que je veux faire est comme cette image: to use the company's logo on job list view

+0

Votre question est peu claire sur la façon dont vous vous stockez des entreprises. En supposant que votre société est une entité (noeud) et que votre travail est un noeud, vous devez placer un champ de référence d'entité sur le travail pour référencer sa société mère (la référence d'entité ne référence pas un champ spécifique sur une entité). Vous n'indiquez pas non plus clairement dans votre question comment vous affichez les entités/nœuds. – 2pha

+0

Société est un type de contenu et le travail est également le type de contenu. J'ai essayé de mettre ce champ de référence de l'entité du logo sur le travail, mais en notant apparaît. – nicehacker

+0

@nicehacker Référencez simplement le noeud entier de l'entreprise. Si vous créez une vue, vous pouvez ajouter le champ de la société pour avoir l'image. – VJamie

Répondre

0

je devais le faire pour un projet, et j'utilise également le module Entity Reference pour le faire.

Premièrement: vous ajoutez un champ « Société », sur votre sorcière type de contenu « emploi », à partir du type « Entité de Référence » référence du type de contenu Société.

Vous ajoutez un affichage « teaser » du type de contenu entreprise, que vous utiliserez dans votre affichage de la liste des emplois. Dans mon cas, j'utiliser un crochet preprocess_node dans mon modèle, inspiré d'une proposition sur node.tpl.php reference page:

<?php 
/** 
* Implements hook_preprocess_node(). 
*/ 
function THEMENAME_preprocess_node(&$vars) { 

    // Add css class "node--NODETYPE--VIEWMODE" to nodes 
    $vars['classes_array'][] = 'node--' . $vars['type'] . '--' . $vars['view_mode']; 

    // Make "node--NODETYPE--VIEWMODE.tpl.php" templates available for nodes 
    $vars['theme_hook_suggestions'][] = 'node__' . $vars['type'] . '__' . $vars['view_mode']; 

} 
?> 

Ensuite, vous pouvez définir votre propre modèle pour le type de contenu Société et d'affichage (teaser): noeud - entreprise --teaser.tpl.php. Vous devrez copier le template node.tpl.php par défaut, et le modifier pour votre usage (montrer le logo, utiliser ou non le titre, ...). Vous trouverez quelques exemples et astuces sur la page de référence node.tpl.php.

Après, dans votre affichage de la liste d'emploi, le champ de référence de la société, et sélectionnez le type « vue entité » avec le mode « teaser ».