Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

In eigenem *.tpl Variablen Filtern, etc....

Eingetragen von goisgo (102)
am 23.01.2009 - 16:14 Uhr in
  • Views
  • Drupal 6.x

Hallo Community,

so, meine views laufen sehr gut :) Mein view "termine" gibt mir, je nach Argument, eine Liste von Terminen aus. Klickt man auf den Titel, gelangt man auf die Node der News. Konnte auch, da ich eigene tpl einsetze, mit CSS wunderbar eingreifen (Farben, floats, usw....).

Was ich aber nicht "verstehe": Wie kann ich in meinem TPL (Ansicht "vtermine": Grid, Felder, 1 Spalte) die $rows und $items filtern? Möchte zum Beispiel den Titel kürzen, ein "weiter..." mit Link angeben, oder das Datumfeld mit "Uhr" hinten versehen.

Sehe aber keine Chance, auf meinem Weg hier einzugreifen:

views-view--termine--page-3.tpl.php Auszug:

...
<?php if ($rows): ?>
    <div class="view-content">
      <?php print $rows; ?>
    </div>
  <?php elseif ($empty): ?>
    <div class="view-empty">
      <?php print $empty; ?>
    </div>
  <?php endif; ?>
...

views-view-grid--termine--page-3.tpl.php

...
     <tr class="<?php print $row_class; ?>">
        <?php foreach ($columns as $column_number => $item): ?>
          <td class="<?php print 'col-'. ($column_number + 1); ?>">
            <?php print $item; ?>
 
          </td>
        <?php endforeach; ?>
      </tr>
...

Habe zwar erfolgreich auch eine TPL views-view-field--termine--page-3--title.tpl.php und views-view-field--termine--page-3--field-time-event-value.tpl.php angelegt, ist das aber Sinn der Sache? Kann ich nicht mit den obigen beiden Dateien arbeiten? Ich frage nur: Befinde ich mich auf dem Holzweg?

LG,
goisgerl

‹ View als Beitrag auf der Startseite anzeigen Textfeld mit möglicher Beitragsreferenzierung ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Views templates

Eingetragen von stBorchert (6003)
am 26.01.2009 - 09:02 Uhr

Moin!

goisgo schrieb
Was ich aber nicht "verstehe": Wie kann ich in meinem TPL (Ansicht "vtermine": Grid, Felder, 1 Spalte) die $rows und $items filtern? Möchte zum Beispiel den Titel kürzen, ein "weiter..." mit Link angeben, oder das Datumfeld mit "Uhr" hinten versehen. ... Habe zwar erfolgreich auch eine TPL views-view-field--termine--page-3--title.tpl.php und views-view-field--termine--page-3--field-time-event-value.tpl.php angelegt, ist das aber Sinn der Sache? Kann ich nicht mit den obigen beiden Dateien arbeiten? Ich frage nur: Befinde ich mich auf dem Holzweg?

Nein.
Prinzipiell könntest Du wohl auch nur mit den beiden Templates weiterkommen. Allerdings ist es eleganter (TM), für die einzelnen Felder (so sie denn angepasst werden sollen) weitere Templates zu verwenden. So bleibst Du flexibel und musst, falls Du weitere Felder anpassen möchtest, nicht immer das "Basis"template ändern, sondern kannst einfach ein Neues hinzufügen.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke Stefan, dann mach ich

Eingetragen von goisgo (102)
am 26.01.2009 - 10:10 Uhr

Danke Stefan,

dann mach ich so weiter, mit dem time und teaser tpl klappt das sehr gut. Kann hier mit css modifzieren, das Design usw. etc.

Aber: Wie kann ich nun beispielsweise im teaser.tpl den $output mit einem "Weiterlesen...." versehen?

<?php
print '' .$output. ' Weiterlesen...';
?>

Auf die Art hat Weiterlesen ja keine Funktion - im Comment der Standardtpl steht $more - allerdings wirkt sich das hier nicht aus. Im time-field.tpl musste ich auch so tricksen:

<?php
if(ereg(":",$output)) {
print
'' .$output. ' Uhr ';
} else {
print
$output;
}
?>

Gibt es hier eine Lösung?

LG
goisgerl

  • Anmelden oder Registrieren um Kommentare zu schreiben

Views templates

Eingetragen von stBorchert (6003)
am 26.01.2009 - 10:49 Uhr
goisgo schrieb

Aber: Wie kann ich nun beispielsweise im teaser.tpl den $output mit einem "Weiterlesen...." versehen?

<?php
print '' .$output. ' Weiterlesen...';
?>

Auf die Art hat Weiterlesen ja keine Funktion - im Comment der Standardtpl steht $more - allerdings wirkt sich das hier nicht aus.

Naja, Du musst da schon einen Link zur entsprechenden Node bauen:

<?php print $output . l(t('read more'), 'node/<IdDerNode>'); ?>

Die Id der Node müsste ja irgendwie im Template verfügbar sein (z.B. über $node->nid).

goisgo schrieb

Im time-field.tpl musste ich auch so tricksen:

<?php
if(ereg(":",$output)) {
print
'' .$output. ' Uhr ';
} else {
print
$output;
}
?>

Argh, was soll denn das ereg da? Willst Du einfach nur prüfen, ob in $output ein ":" vorkommt?
Dann nimm doch einfach strpos(). Das ist bei solch einfachen Abfragen um ein Vielfaches (!) schneller also ereg oder dessen Freunde.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke Dir, habe den

Eingetragen von goisgo (102)
am 26.01.2009 - 11:59 Uhr

Danke Dir,

habe den ereg-Panzer ausgetauscht, sry :)

Wegen dem Link: Genau das meinte ich, das ist mein Problem: Woher kralle ich mir die ganzen Variablen der View? Möchte auch, wenn im teaser ein Bild vorhanden ist, dieses verkleinern. Oder eben das Weiterlesen mit der richtigen ID hinterlegen, etc. Woher bekomme ich die Werte der Variablen und/oder die Definition der Variablen?

LG,
goisgerl

  • Anmelden oder Registrieren um Kommentare zu schreiben

drupal_set_message

Eingetragen von stBorchert (6003)
am 26.01.2009 - 12:08 Uhr
goisgo schrieb

Woher bekomme ich die Werte der Variablen und/oder die Definition der Variablen?

Versuch mal:

<?php
drupal_set_message
('<pre>' . printr(get_defined_vars(), 1). '</pre>');
?>

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Array ( [0] => stdClass

Eingetragen von goisgo (102)
am 26.01.2009 - 13:08 Uhr

Array ( [0] => stdClass Object (
[nid] => 130
[node_revisions_title] => Treffen
[node_revisions_nid] => 130
[node_data_field_time_event_field_time_event_value] => 2009-01-21T15:00:00
[node_data_field_time_event_field_time_event_value2] => 2009-01-21T18:00:00
[node_data_field_time_event_nid] => 130
[node_type] => termine
[node_revisions_teaser] => Wir wollen uns treffen, das ist doch schön Wir wollen uns treffen, das ist doch schön Wir wollen uns treffen, das ist doch schön Wir wollen uns treffen, das ist doch schön.

Habe mir dank Deiner Info die def. Variablen ausgelesen: Allerdings klappt nirgends der Aufruf über $node->variable. Wie kann ich, da dies ja, bevor ich über Link auf den entsprechenden Node springe, die Views mit den o.g. Variablen beeinflussen?

LG,
goisgerl

  • Anmelden oder Registrieren um Kommentare zu schreiben

$node

Eingetragen von stBorchert (6003)
am 26.01.2009 - 13:18 Uhr

Hm, ein

<?php
drupal_set_message
('<pre>' . print_r($node, 1). '</pre>');
?>

gibt kein Ergebnis?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein, leere Seite. Hier der

Eingetragen von goisgo (102)
am 27.01.2009 - 13:03 Uhr

Nein, leere Seite.

Hier der Link:
http://www.jjjjjjjjjjjjjjjjjjjjjjjj.de/?q=vtermine/kinder

views = termine
ansicht seite = vtermine
argument = kinder

Habe eigene tpl angelegt (siehe Threadstart), um eingreifen zu können. Eventuell liegt hier der Hund begraben?
views-view--termine--page-3.tpl.php
views-view-grid--termine--page-3.tpl.php
und dann die tpl für termin, title und teaser

Den drupal_set_message('' . print_r($node, 1). ''); baute ich zum testen in die views-view--termine--page-3.tpl.php ein.

LG,
goisgerl

Edit: Hm, der Inhaltstyp ist ein eigener: termine

  • 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?
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250234
Registrierte User: 20455

Neue User:

  • JoMek
  • Znogsnernoimb
  • ByteScrapers

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