Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

[Gelöst - mit Kompromiss] Blog Seitenaufrufe: Nach jedem dritten Aufruf einen Trenner einfügen

Eingetragen von einfachfragen (150)
am 28.03.2009 - 23:34 Uhr in
  • Themes & Theming
  • Drupal 6.x

Hi.

Habe mal wieder alles durchgetestet und auch hier nichts im Forum gefunden (auch nichts passendes in der API oder einfach nicht gefunden).

Ich habe auf der Startseite von www.fahrzeuge.net ja den Blog. Jetzt bin ich dabei die Ansicht umzuändern und drei Newsblöcke nebeneinander zu packen. Das ist ja eigentlich kein Thema, denn ich lasse die Boxen einfach floaten, jedoch möchte ich nach jedem dritten Eintrag einen Trenner einfügen inkl. nem clear.

Das Problem dabei ist aber, dass ich da nicht einfach mit einer Schleife arbeiten kann, denn die Seite wird ja immer neu aufgerufen und somit ist meine variable immer 1 (wenn ich z. B. $i++ nehme).

Auch meine Idee es mit % zu machen schlug fehl. Ich hatte mir immer die ID der News aber somit auch nur 2 Zustände (0 und 1) und sollte ich mal eine News löschen, dann habe ich z. B. zwei mal 0 oder 1 hintereinander (da ich ja dann zwei ungerade oder zwei gerade Werte habe).

Jemand eine Idee, wie ich da den Trenner rein bekomme und weiter arbeiten kann?

Schon einmal danke für eine Antwort.

Gruß

‹ [GELÖST!] 3 Fragen: Festlegen wo der Inhalt zu sehen ist / Bilder in Artikel / Subhead bzw Datum für Artikel Rahmen um ein Menü/Block ziehen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

views template

Eingetragen von stBorchert (6003)
am 29.03.2009 - 00:28 Uhr

Moin!
Mal angenommen, Du verwendest views, um die Darstellung zu erzeugen. Dann kannst Du ganz einfach eine views-view--VIEWNAME.tpl.php (bzw. ein Template für die untergeordneten Ebenen; siehe "Theme information" beim View) für diesen speziellen View erzeugen und dort den Trenner einbauen (mit einem Zähler). Bei mir sieht das für eine Galerie beispielsweise so aus:

<?php
// $Id$
/**
* @file views-view-grid--gallery.tpl.php
* view template to display gallery items in a grid.
*/
?>

<?php foreach ($rows as $row_number => $columns): ?>
  <?php foreach ($columns as $column_number => $item): ?>
    <?php
    $itemclass
= 'view-item';
    if (
count($columns) == ($column_number + 1)) {
      
$itemclass .= ' last';
    }
   
?>

    <div class="<?php print $itemclass; ?>">
      <?php print $item; ?>
    </div>
  <?php endforeach; ?>
<?php endforeach; ?>

Du könntest dann bei Dir bei jeder 3. Spalte einen Trenner einfügen. Oder jedes 4. Element mit einer zusätzlichen Klasse versehen:

    <?php
    $itemclass
= 'view-item';
    if ((
$column_number + 1) % 4 == 0) {  // $column_number beginnt bei 0
      
$itemclass .= ' clear';
    }
   
?>

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erst einmal danke für deine

Eingetragen von einfachfragen (150)
am 29.03.2009 - 01:42 Uhr

Erst einmal danke für deine Antwort.

Ich habe gehofft, bzw. hoffe, dass ich das ohne Views lösen kann (weil das wäre nur eine Abfrage in meinem schon fertigen Blog-Template).

Der Knackpunkt zusätzlich ist, dass ich jetzt 1 Stunde an den Views rumgefingert habe, es aber nicht hinbekomme die Ausgabe zu erzeugen. Wie kann ich den den unformatierten View anzeigen lassen und ggf. noch einzeln bearbeiten (die ganzen einzelnen Elemente möchte ich ja so anordnen wie ich es haben muss). Im Blog-Template habe ich ja z. B. folgende Ausgabe für das Bild: $node->field_newspics[0][view]

Mit Views habe ich bisher nämlich noch nichts gemacht. Auch das hier im Forum empfohlene Video dazu habe ich zwar "sprachlich" verstanden (ist ja englisch), aber anscheinend kann ich das nicht umsetzen, weil es nicht so hinhaut (mag wohl an mir legen :-D).

Ich danke echt für jede verständliche Hilfe.

Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ausgabe mit Views geht jetzt aber

Eingetragen von einfachfragen (150)
am 29.03.2009 - 18:49 Uhr

ich kann es einfach nicht formatieren.

Mein Code aus der views-tpl-Datei ist folgender:

<?php
// $Id: views-view-unformatted.tpl.php,v 1.6 2008/10/01 20:52:11 merlinofchaos Exp $
/**
* @file views-view-unformatted.tpl.php
* Default simple view template to display a list of rows.
*
* @ingroup views_templates
*/
?>

<?php if (!empty($title)): ?>
  <h3><?php print $title; ?></h3>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>
  <div class="<?php print $classes[$id]; ?>">
    <?php print $row; ?>
  </div>
<?php endforeach; ?>

Das ist ja der Standard-Code. Ich kann aber machen was ich möchte, ich kann auf die einzelnen Elemente nicht zugreifen. In der Hilfe steht z. B. mit

<?php
print $row['title'];
?>

Ist ja auch logisch, geht aber nicht, bekomme keine Anzeige.

Jemand eine Idee, wie ich das machen kann?

Schon einmal danke und Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

view template

Eingetragen von stBorchert (6003)
am 29.03.2009 - 22:11 Uhr

Moin!
Du musst das Template für die Ebene darunter (Zeilenebene) verwenden. Wie das heisst, steht in der Auflistung unter "Theme information".
Dort kannst Du dann auf die einzelnen Spalten (sprich Elemente) zugreifen.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Aaaah, aber

Eingetragen von einfachfragen (150)
am 29.03.2009 - 23:22 Uhr

dann muss ich ja jedes Element in einer eigenen .tpl-Datei bearbeiten oder?

Bsp. bei mir steht jetzt das hier:

Zitat:

Feld Inhalt: Newsbilder (field_newspics) (ID: field_newspics_fid): views-view-field.tpl.php, views-view-field--field-newspics-fid.tpl.php, views-view-field--startseitennews.tpl.php, views-view-field--startseitennews--field-newspics-fid.tpl.php, views-view-field--default.tpl.php, views-view-field--default--field-newspics-fid.tpl.php, views-view-field--startseitennews--default.tpl.php, views-view-field--startseitennews--default--field-newspics-fid.tpl.php

Dann habe ich jetzt ein Template erstellt was wie folgt heißt: views-view-field--field-newspics-fid.tpl.php

Dann muss ich noch ein separates für den Text, für das Datum usw. erstellen?

Wenn ja, wie kann ich die Dinger denn später ineinander verschachteln? Bsp. ich mache das Bild in ein Div, möchte aber das Datum direkt darunter aber in der Div box haben.

oder ich habe das Prinzip immer noch nicht so recht kapiert :-D.

Ich danke dir.

  • Anmelden oder Registrieren um Kommentare zu schreiben

View template

Eingetragen von stBorchert (6003)
am 30.03.2009 - 07:46 Uhr

Moin!
Das ist jetzt wieder eine Ebene Zu weit :-). Verwende doch mal "Grid" als "Style", dann kannst Du views-view-grid.tpl.php verwenden (und umschreiben).

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

So mein Gutster =). Danke,

Eingetragen von einfachfragen (150)
am 30.03.2009 - 23:00 Uhr

So mein Gutster =).

Danke, mit dem Grid klappt es, sehr gute Idee.

Bloß wie ich in der Datei jetzt auf die einzelnen Elemente zugreifen kann ist mir noch schleierhaft. Mit z. B. rows['title'] gehts nämlich nicht (keine Ausgabe).

Wenn du dafür noch ne Idee hast, dann bin ich glaub ich (für kurze Zeit) zufrieden :-D.

Mein Code:

<?php
// $Id: views-view-grid.tpl.php,v 1.3 2008/06/14 17:42:43 merlinofchaos Exp $
/**
* @file views-view-grid.tpl.php
* Default simple view template to display a rows in a grid.
*
* - $rows contains a nested array of rows. Each row contains an array of
*   columns.
*
* @ingroup views_templates
*/
?>

<?php if (!empty($title)) : ?>
  <h3><?php print $title; ?></h3>
<?php endif; ?>
    <?php foreach ($rows as $row_number => $columns): ?>
        <?php foreach ($columns as $column_number => $item): ?>
          <div class="blogbox">
            <?php print $item; ?>
          </div>
        <?php endforeach; ?>
<p class="clrmiddle2">&nbsp;</p>
    <?php endforeach; ?>

Das ich das jemals mit einer einzelnen Datei machen muss würde ja mein Problem von oben aufwerfen, zum Einen sehr viele Dateien bei vielen Views und zum Anderen kann ich dann ja nicht direkt was verschachteln.

Vielleicht noch eine Frage, die aber nicht so wichtig ist weil es dennoch klappt:

Designausgabe: views-view-grid.tpl.php, views-view-grid--startseitennews.tpl.php, views-view-grid--default.tpl.php, views-view-grid--startseitennews--default.tpl.php

So sieht das bei mir aus, was ich ausgewählt habe. Erstellt habe ich jedoch die Datei views-view-grid--startseitennews.tpl.php und die wird auch genommen. Aber auch nach dem neu Einlesen nicht fett markiert.

Schon mal (wieder einmal ;-D), Danke.

  • Anmelden oder Registrieren um Kommentare zu schreiben

View template

Eingetragen von stBorchert (6003)
am 31.03.2009 - 07:46 Uhr
einfachfragen schrieb

Danke, mit dem Grid klappt es, sehr gute Idee.

Ich weiss. Auch wenn sie nicht von mir ist :-).

einfachfragen schrieb

Bloß wie ich in der Datei jetzt auf die einzelnen Elemente zugreifen kann ist mir noch schleierhaft. Mit z. B. rows['title'] gehts nämlich nicht (keine Ausgabe).

Die einzelnen Elemente werden ja über print $item ausgegeben. Und diese Ausgabe kannst Du dann wieder in einem untergeordneten Template (views-view--startseitennews-fields-field.tpl.php oder so ähnlich) verändern.
In der ...-grid...tpl.php kannst Du (was wir ja eigentlich wollten) nun - wie schon vorher gezeigt - dem Elementcontainer eine zusätzliche Klasse hinzufügen, so dass ein clear auf das Element angewendet werden kann.

einfachfragen schrieb

Designausgabe: views-view-grid.tpl.php, views-view-grid--startseitennews.tpl.php, views-view-grid--default.tpl.php, views-view-grid--startseitennews--default.tpl.php

So sieht das bei mir aus, was ich ausgewählt habe. Erstellt habe ich jedoch die Datei views-view-grid--startseitennews.tpl.php und die wird auch genommen. Aber auch nach dem neu Einlesen nicht fett markiert.

Och, das ist nicht so schlimm. Solange die Datei verwendet wird, ist es mir eigentlich immer vollkommen Wurscht, was da fett markiert ist.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Och man, oh man, ich glaubs

Eingetragen von einfachfragen (150)
am 31.03.2009 - 14:06 Uhr

Och man, oh man, ich glaubs kaum.

Aber jetzt nachdem das soweit ist, dass ich da nach deiner Info weiterarbeiten könnte fällt mir auf, dass es ja noch ein Problem gibt. Wenn du auf www.fahrzeuge.net gehst, siehst du ja rechts meine Kategorien dafür ABER die werden dafür ja gar nicht genommen :-/.

Das bezieht sich ja "nur" auf eine Seite. Somit muss ich ja die Blogansicht dementsprechend abändern um das gewünschte Ergebnis zu erziehlen oder? Gibt es vielleicht eine Möglichkeit, die Ausgabe auf die Blogansicht anzuwenden (dass immer das View für alle Blogansichten genommen wird). Wobei das nicht für die Blogdetailansicht sondern nur für die Blogvorschau (halt der Teaser) gelten darf.

Man, könnte ich einfach im Blog ne Schleife laufen lassen wäre es soooo einfach :-D.

Für jede Anregung bin ich offen.

Ich weiß schon gar nicht mehr was ich schreiben soll, danke hört sich bald schon so wenig an :-D.

Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe es jetzt einfach so

Eingetragen von einfachfragen (150)
am 01.04.2009 - 21:05 Uhr

Ich habe es jetzt einfach so umgesetzt, dass ich auf der Startseite den View anzeigen lasse und alles sonstige noch mal in der Blogansicht überarbeite (ohne dreispaltigem Layout).

Dann passts.

Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 7 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 4 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 20 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association