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

[gelöst] Textfeld gestalten

Eingetragen von tangotaenzer (64)
am 13.09.2010 - 23:41 Uhr in
  • Views
  • Drupal 6.x

Hallo,
habe mit cck ein Textfeld in einem Inhaltstyp erstellt. Dieses Textfeld möchte ich jetzt gerne in meinem eigenen Theme individuell gestalten (d. h. ich möchte einen <div> um die Ausgabe des Textfelds legen)
Habe mir hierfür die content-field.tpl.php kopiert. Allerdings muss ich gestehen ich verstehe nur Bahnhof. Als Ausgabe erhalte ich meinem Text um den sich 4 <div> legen, wovon 3 jedoch leer sind. Auf 3 davon könnte ich also gut verzichten, jedoch weiss ich nicht im geringsten wie ich diese Datei entsprechend ändern müsste. Diese Datei ist wahrlich nicht sehr lang und vielleicht kann jemand von Euch etwas Licht ins Dunkel bringen und erläutern was dort im Detail passiert???

<?php if (!$field_empty) : ?> 
<div class="field field-type-<?php print $field_type_css ?> field-<?php print $field_name_css ?>">
  <?php if ($label_display == 'above') : ?>                                                        // was bedeuted das 'above' zum Beispiel?
    <div class="field-label"><?php print t($label) ?>:&nbsp;</div>
  <?php endif;?>
  <div class="field-items">
    <?php $count = 1;
    foreach (
$items as $delta => $item) :
      if (!
$item['empty']) : ?>

        <div class="field-item <?php print ($count % 2 ? 'odd' : 'even') ?>">        // diese Zeile ist mir auch sehr unklar
          <?php if ($label_display == 'inline') { ?>                                              // diese auch
            <div class="field-label-inline<?php print($delta ? '' : '-first')?>">           // was bedeutet hier z. B. -first?
              <?php print t($label) ?>:&nbsp;</div>
          <?php } ?>
          <?php print $item['view'] ?>                                                               // was ist view?
        </div>
      <?php $count++;
      endif;
    endforeach;
?>

  </div>
</div>
<?php endif; ?>

--edit(stBorchert)--
code-Tags ergänzt

‹ [gelöst] CCK: Node Reference Feld liefert nur vollständiges HTML [gelöst]Kontextabhänigige Views ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Frei kopiert aus:

Eingetragen von idle (202)
am 14.09.2010 - 08:51 Uhr

Frei kopiert aus: api.drupal.org

Zitat:

Actually, control over CCK fields can be gained using CCK's own templates. Copy content-field.tpl.php to your theme directory and copy it again for each field whose mark-up you wish to alter, naming it field-field_name.tpl.php.

So, if I have a field called field_my_field in CCK and I want to modify the mark-up for that field, I copy content-field.tpl.php to my theme directory and then make *another* copy named content-field-field_my_field.tpl.php. I can then change the mark-up in content-field-field_my_field.tpl.php and it will alter the output of that specific CCK field.

Alternativ kannst du CCK-Felder auch in der page.tpl.php einfügen. Hier ein Beispiel mit einem DIV drumrum:

<?php
print (!empty($node->FELDNAME[0]['value'])) ? '<div>'.$node->FELDNAME[0]['value'].'</div>' : '';
?>

Zu deinen Fragen im Code

<?php if ($label_display == 'above') : ?> Wenn das Label oberhalb angezeigt werden soll, dann ...
<?php if ($label_display == 'inline') { ?> Wenn das Label inline angezeigt werden soll, dann ...
<div class="field-item <?php print ($count % 2 ? 'odd' : 'even') ?>"> fügt eine Klasse odd oder even hinzu.
<div class="field-label-inline<?php print($delta ? '' : '-first')?>"> "-first" wird an die Klasse angehängt.
<?php print $item['view'] ?> Best guess: gib die View-Version des Items aus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Theming in Drupal

Eingetragen von wla (9466)
am 14.09.2010 - 09:12 Uhr

Dazu braucht es folgende Kenntnisse

  • HTML "zu Fuß"
  • Wie arbeitet man in CSS
  • Etwas PHP (Abfragen, Schleifen, Operatoren und Object/Array-Strukturen)
  • Wissen, was is Drupal vorgesehen/konfiguriert ist

Ein CCK-Feld in Drupal hat ein Label, das über Felder anzeigen auf hidden, above und inline gestellt werden kann (Punkt 4). Daraus ergibt sich, das das Label auch irgendwann tatsächlich ausgegeben werden muß => die Zeilen mit den $label_display.
Ein CCK-Feld kann mehrfach Werte beinhalten (Punkt 4). Die foreach-Schleife sorgt dafür das bei Mehrfachwerten alle ausgegeben werden. Die werden gerne untereinander mit wechselnden Hintergründen ausgegeben. Die Hintergründe sind CSS, aber es braucht passende Klassen, damit man das anwenden kann (odd/even). Ach ja, $count % 2 ist die Modulo Operation und liefert genau das.
Falls das Label "inline" dargestellt werden soll, bekommt das erste label die Klasse "field-label-inline-first", die anderen nur "field-label-inline". Der Wert $delta beginnt bei 0 (Zählung der Werte) und der ?-Operator in PHP geht: Bedingung ? wahr : falsch. Hier: 0 =>falsch, andere Zahl => wahr
<?php print $item['view'] ?> ist die eigentliche Ausgabe des Feldes für den jeweiligen Wert.
Du solltest Dich mit der Basis des Themings noch ein bischen befassen, sonst wirst Du es schwer haben mit den Template-Files.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ihr seid ja super! Dank Euch

Eingetragen von tangotaenzer (64)
am 14.09.2010 - 10:41 Uhr

Ihr seid ja super! Dank Euch verstehe ich jetzt worum es hier geht.

Zitat:

<?php
print (!empty($node->FELDNAME[0]['value'])) ? '<div>'.$node->FELDNAME[0]['value'].'</div>' : '';
?>

genau so eine einfache Lösung habe ich gesucht - und sie funktioniert auch bei mir (man muss halt nur wissen wie es geht)!

Danke auch Dir Werner für Deine ausführliche Erklärung die wahrlich Licht in das große Dunkel gebracht hat. Davon werden sicherlich auch andere Drupal-Anwender profitieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 5 Wochen 2 Tagen
  • Vielen Dank für Ihren
    vor 5 Wochen 5 Tagen
  • Composer ist sehr ratsam
    vor 6 Wochen 15 Stunden
  • Vielen Dank für den
    vor 6 Wochen 3 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Wochen 3 Tagen
  • Gut gemacht
    vor 6 Wochen 3 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Wochen 3 Tagen
  • Links
    vor 6 Wochen 6 Tagen
  • Moin,wow, sehr gutes
    vor 7 Wochen 5 Stunden
  • Dass ist eine spannende
    vor 7 Wochen 12 Stunden

Statistik

Beiträge im Forum: 250316
Registrierte User: 20567

Neue User:

  • Philiphelve
  • Robertspaft
  • drupalthemes

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
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