Question

J'ai une vue simple qui saisit 4 champs, essentiellement, il saisit les champs d'un type de contenu spécifique. Les champs sont les suivants:
classe CSS (texte brut)
Image (image)
Titre
Corps

trucs Assez simple. J'ai vue créé, mais je dois les choses de sortie d'une manière spécialisée et je ne peux pas déterminer comment cette pause stuff vers le bas en même temps que mon balisage personnalisé de ma génération. Je dois envelopper chaque rangée dans un récipient et chaque casse ligne embarqua ses propres conteneurs, jetez un oeil sur le code suivant.

   <div id="homepage-folio-portlets">
    <div class="homepage-folio-portlet [CSS class]">
     <div class="homepage-folio-portlet-image"><img src="[Image]" width="450" height="330" alt="" class="[CSS class]-image" /></div>
     <div class="homepage-folio-portlet-text">
      <strong>[Title]</strong>
      <p>[Body]</p>
     </div>
    </div> <!-- /homepage-folio-portlet -->
   </div> <!-- /homepage-folio-portlets -->

J'ai un conteneur, Page d'accueil-folio-portlets , et à l'intérieur que je veux itérer sur des vues créer un nouveau conteneur en utilisant la classe Page d'accueil-folio portlet pour chaque ligne renvoyée, y compris la classe CSS de la ligne.

Mon plus grand obstacle est de trouver comment construire soit mes fichiers .tpl ou mes fonctions à thème dans template.php. Je comprends les conventions de nommage, mais une fois à l'intérieur, je ne sais pas vraiment quoi faire. Je sens que je vais devoir faire un peu de magie dans template.php de toute façon de vous assurer que ma sortie de la ligne est au courant de la classe CSS à partir du contenu, mais qui sait. Toute aide et la direction est appréciée.

Était-ce utile?

La solution

Après avoir vu ce qui précède vidéo il est devenu un peu plus clair comment accomplir ce je me suis mis à faire. Le plus grand « ah-ha » était que le code par défaut pour le modèle « de sortie de style ligne » a été source de confusion pour me cause de la boucle foreach. Je ne reconnaissais pas que je pouvais simplement sortie chaque champ de quelque manière que je l'entends dans ce fichier sans la boucle. La vidéo montre comment vous pouvez référencer vos champs individuellement avec les champs $ sténographiques suivants [ « ID de champ »] -> contenu. Pour obtenir le « ID de champ », il est aussi défilement passé la « sortie d'affichage », « Sortie Style », et des liens « sortie de style de ligne » dans le volet d'option « informations thématisation » de votre point de vue spécifique.

J'ai utilisé le « Theme Information » qui se trouve dans l'écran d'édition de mon point de vue de déterminer le plus tpl spécifique pour « sortie de style Row » pour créer et créé, dans ce cas vue-view champs - my-vue -nom -. default.tpl.php

Vue-vue-champs - my-nom_vue - default.tpl.php - Sortie ligne fichier tpl
(Ne faisant plus l'utilisation du foreach par défaut, car au lieu de boucler sur les champs que je connais les champs que je veux et je peux simplement les sortir de toute façon je l'entends)

   <div id="homepage-folio-portlets">
    <div class="homepage-folio-portlet <?php print $fields['CSS_class']->content ?>">
     <div class="homepage-folio-portlet-image"><img src="<?php print $fields['Image']->content ?>" width="450" height="330" alt="" class="<?php print $fields['CSS_class']->content ?>-image" /></div>
     <div class="homepage-folio-portlet-text">
      <strong><?php print $fields['Title']->content ?></strong>
      <p><?php print $fields['Body']->content ?></p>
     </div>
    </div> <!-- /homepage-folio-portlet -->
   </div> <!-- /homepage-folio-portlets -->

Après cela, je l'ai fait un peu récursion dans la « sortie Style » et « Affichage sortie » fichiers tpl pour se débarrasser de tout ce balisage supplémentaire ajoute Drupal. Notez que tout ce que je vraiment soucié était l'impression de $ row (avec elle boucle de foreach) dans le style tpl et les lignes $ dans le tpl d'affichage. Il est délivrer en sortie ce que je veux et je ne pouvais pas être plus heureux. Enfin, il est fait un certain sens. Espérons que cela aide un tas d'autres personnes.

Juste pour référence ...

vue-view-unformatted - my-nom_vue - default.tpl.php - fichier tpl style
(Vous voulez garder la boucle foreach ici de sorte que chaque ligne s'émis)

<?php foreach ($rows as $id => $row): ?>
 <?php print $row; ?>
<?php endforeach; ?>

vues vue - my-nom_vue - default.tpl.php - Afficher le fichier .tpl

<?php print $rows; ?>

En supprimant tout le balisage supplémentaire que je perds spécifique importante de choses à vues comme des liens d'administration et autres, mais pour mes fins qui est très bien.

Autres conseils

Dans l'onglet Edition pour vous, sous Paramètres de base, recherchez « Thème: » et cliquez sur le lien « Information ». Puis, dans la « Valeur par défaut: thématisation informations » section, les noms en gras sont ceux qui sont actuellement utilisés pour thème une sous-section particulière de ce point de vue. Les autres noms sont des « suggestions » qui peuvent être utilisées pour remplacer les valeurs par défaut et ils sont classés du moins spécifiques au plus spécifique.

Dans votre cas, pour commencer, il semble que vous souhaitez remplacer la « sortie de style Row »:

  1. Cliquez sur le lien "Sortie de style ligne", copiez le code de modèle par défaut.
  2. Choisissez un des noms proposés à utiliser pour le style de ligne, selon que vous voulez que ce style à utiliser pour toutes les vues, ce point de vue, un affichage particulier de ce point de vue, etc.
  3. Collez le code copié à l'étape n ° 1 dans le nom de fichier choisi à l'étape # 2
  4. Modifier le code si nécessaire, d'ajouter les classes spécifiques
  5. Cliquez sur les « fichiers de modèle Rescan » pour reconstruire le cache modèle
  6. Répétez les étapes 1-5 pour tous les sous-modèles que vous souhaitez personnaliser supplémentaires.

Avez-vous essayé d'utiliser les fichiers de modèle pour les lignes? Vous devriez le voir dans le module vues (dans l'admin). En cliquant sur « Information » dans la zone inférieure du côté gauche lorsque vous créez la vue. Vous aurez besoin de rafraîchir le cache de modèle (vous verrez un bouton pour le faire).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top