Frage

Ich habe eine einfache Ansicht, die vier Felder packen, im Grunde ist es die Felder eines bestimmten Inhaltstypen greift. Die Felder sind wie folgt:
CSS-Klasse (Klartext)
Bild (Bild)
Titel
Körper

Pretty einfache Sachen. Ich habe die Ansicht erstellt habe, aber ich brauche die Ausgabe Dinge in einer Art und Weise spezialisiert, und ich kann nicht feststellen, wie dieses Zeug bricht in Verbindung mit meiner benutzerdefinierten Markup von meinem Build. Ich brauche jede Zeile in einem Container und jede Zeile bricht wickeln hinunter in seinen eigenen Container, werfen Sie einen Blick auf den folgenden Code ein.

   <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 -->

Also ich habe einen Container aufgestellt, Homepage-Folio-Portlets , und im Innern der, dass ich über Ansichten zu iterieren will einen neuen Container mit der Klasse erstellen Homepage-Folio-Portlet für jede Zeile, die der CSS-Klasse aus der Zeile zurückgegeben.

Meine größte Hürde ist, herauszufinden, wie entweder meine .tpl Dateien oder in template.php mein Thema Funktionen zu bauen. Ich verstehe die Namenskonventionen, aber einmal im Inneren weiß ich wirklich nicht, was zu tun ist. Ich habe das Gefühl, ich brauche es eine wenig Magie in template.php oder so zu tun, um sicherzustellen, dass meine Reihe Ausgabe der CSS-Klasse von den Inhalten Kenntnis hat, aber wer weiß. Jede Hilfe und Richtung wird geschätzt.

War es hilfreich?

Lösung

Nach dem oben genannten beobachten Video es ein wenig mehr klar wurde, wie das, was zu tun ich machte mich zu tun. Die größte „ah-ha“ war, dass der Standard-Code für die „Row Stil Ausgabe“ Vorlage mich wegen der foreach-Schleife war verwirrend. Ich habe nicht erkennen, dass ich konnte einfach Ausgang jedes Feld in welcher Weise auch immer ich ohne die Schleife paßt in dieser Datei zu sehen. Das Video zeigt, wie Sie Ihre Felder einzeln mit den folgenden Stenografie $ Felder [ ‚ID-of-field‘] Referenz könnte -> Inhalt. Um die ‚ID-of-Feld‘ es ist wie Scrollen vorbei an dem „Display-Ausgang“, „Style Ausgang“ und „Row Stil Ausgabe“ Links in den „Theming Informationen“ Option Fenstern Ihrer spezifische Ansicht.

Ich benutzen die „Theme Informationen“ in der Bearbeitungsanzeige meiner Ansicht fanden den speziellsten .tpl für „Row Stil Ausgang“, um zu bestimmen, es zu schaffen und erstellt, in diesem Fall Blick-view-Felder - my-Ansicht -name -. default.tpl.php

Ansicht-View-Felder - my-view-name - default.tpl.php - Row Ausgabe .tpl Datei
(nicht mehr Nutzung des Standard foreach machen, weil stattdessen über die Felder von looping kenne ich die Felder, die ich will, und ich kann einfach geben sie trotzdem sehe ich fit)

   <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 -->

Danach, habe ich ein wenig Rekursion in den „Style-Ausgang“ und „Display-Ausgang“ tpl-Dateien von allem, was zusätzlichem Markup loszuwerden Drupal erstellt. Beachten Sie, dass alles, was ich wirklich kümmerte sich um wurde $ row Ausdrucken (mit seinen foreach-Schleife) in der Art .tpl und $ Zeilen in der Anzeige tpl. Es ist die Ausgabe genau das, was ich will, und ich könnte nicht glücklicher sein. Schließlich ist es etwas Sinn. Hoffentlich hilft, eine Reihe von anderen Menschen.

Gerade als Referenz ...

Ansichten-view-unformatiert - my-view-name - default.tpl.php - Style .tpl Datei
(Wollen Sie die foreach-Schleife in hier zu halten, so dass jede Zeile ausgegeben wird)

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

Ansichten-Ansicht - my-view-name - default.tpl.php - Anzeige .tpl Datei

<?php print $rows; ?>

Mit all den zusätzlichen Markup Entfernen ich wichtige Sachen spezifisch Ansichten wie Admin-Links verliere und so, aber für meine Zwecke ist das in Ordnung.

Andere Tipps

Auf der Registerkarte Bearbeiten für Ihre Ansicht, unter Grundeinstellungen, suchen Sie nach „Thema:“ und klicken Sie auf den Link „Information“. Dann in der „Standard: Theming Informationen“ sind die fett Dateinamen diejenigen gerade Thema dieser Ansicht, die einen bestimmten Teilabschnitt verwendet wird. Die anderen Namen sind „Vorschläge“, die verwendet werden können, die Standardwerte außer Kraft zu setzen und sie sind aus den am wenigsten spezifisch für die meisten spezifischen bestellt.

In Ihrem Fall zu starten, es klingt wie Sie den „Row Stil Ausgang“ außer Kraft setzen mögen:

  1. Klicken Sie auf dem "Row Stil Ausgang" Link, kopieren Sie den Standard-Template-Code.
  2. Wählen Sie eine der vorgeschlagenen Dateinamen zu verwenden für die Zeilen Stil, je nachdem, ob Sie wollen, dass diese Art für alle Ansichten verwendet werden, diese Ansicht, eine bestimmte Anzeige dieser Ansicht, etc.
  3. Fügen Sie die in Schritt 1 kopierten Code in das in Schritt gewählten Dateinamen # 2
  4. Bearbeiten Sie den Code als notwendig, die spezifischen Klassen hinzuzufügen
  5. Klicken Sie auf die "Rescan Vorlagendateien", um die Template-Cache
  6. für den Wiederaufbau
  7. Wiederholen Sie die Schritte 1-5 für alle weiteren Teilvorlagen, die Sie anpassen möchten.

Haben Sie versucht, die Template-Dateien für die Zeilen mit? Sie sollten es in den Ansichten Modul (im Admin) sehen. Mit einem Klick auf „Informationen“ im unteren Feld auf der linken Seite, wenn Sie die Ansicht erstellen. Sie müssen die Template-Cache aktualisieren (Sie auf eine Schaltfläche sehen, dies zu tun).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top