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

[gelöst] View Felder mit einem div umschließen

Eingetragen von DiabTeen (36)
am 22.04.2011 - 21:30 Uhr in
  • Views
  • Drupal 6.x

Wie der Titel schon sagt möchte ich gern einen Dic-Container um zwei View Felder haben, diese beiden Felder sind schon als "inline"-Felder gruppiert.

Hatte/Habe es über die Rewrite Möglichkeit probiert und halt in dem ersten Feld den ersten Teil und in dem zweiten Feld den schließenden Teil des div's ....
leider ist das nicht grade valide da er ja den Inhalt der Felder in Span's packt und so ein div in einem span sich öffnet ... :(

Hatte dann versucht es über das Global-Feld "Custom Text" ... doch da entsteht das gleiche Problem :(

Hatte schon überlegt das ganz über einen float (beide Felder nicht als inline) im css zu machen jedoch wollte ich gern dies umschließende div mit einem border-radius belegen ... mit ein float würde es dann gehen wenn ich den border-radius jeweils links und rechts nur habe ...

Hat jemand eine schönere Idee wie ich einen div container um meine beiden inline Elemente bekomme?

Vielen Danke im Voraus :D

‹ Drupal 7.2 und calendar View D7 Aurgument aus View auslesen und anzeigen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Klick in Deinem View unter

Eingetragen von Ionit (1802)
am 22.04.2011 - 22:20 Uhr

Klick in Deinem View unter "Basiseinstellungen" auf "Theme: Information" ... dort kannst Du für jedes Feld ein eigenes tpl-File anlegen (welches Du mit dem Beispiel-Code in Dein Theme-Ordner speicherst). Als Namen wählst Du einen aus der dortigen Liste aus, am besten den letzten.

z.B. views-view-field--User-Map-und-Umkreissuche--attachment-1--street.tpl.php (bei Dir heißt das natürlich anders) ;-)

Du legst also 2 tpl-Dateien an - im ersten kommt das öffnende div-tag rein (vor "output") und im zweiten das schließende (nach "output"). Danach "Vorlagedateien neu einlesen".

So müsste das eigentlich klappen.

Edit:

Hab den Code einfach mal kopiert.

<?php
// $Id: views-view-field.tpl.php,v 1.1 2008/05/16 22:22:32 merlinofchaos Exp $
/**
  * This template is used to print a single field in a view. It is not
  * actually used in default Views, as this is registered as a theme
  * function which has better performance. For single overrides, the
  * template is perfectly okay.
  *
  * Variables available:
  * - $view: The view object
  * - $field: The field handler object that can process the input
  * - $row: The raw SQL result that can be used
  * - $output: The processed output that will normally be used.
  *
  * When fetching output from the $row, this construct should be used:
  * $data = $row->{$field->field_alias}
  *
  * The above will guarantee that you'll always get the correct data,
  * regardless of any changes in the aliasing that might happen if
  * the view is modified.
  */
?>

<div id="meinegruppe">
<?php
print $output;
?>

Und im 2ten tpl-File nimmst Du dann

<?php
print $output;
?>

</div>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nachtrag: Bei der obigen

Eingetragen von Ionit (1802)
am 22.04.2011 - 22:32 Uhr

Nachtrag:

Bei der obigen Variante ist es aber für die Zukunft wichtig, dass Du die Reihenfolge der beiden Felder im View niemals änderst. Änderst Du diese kann es passieren, dass das div-End-tag "oben" steht und das öffnende div-tag darunter. Dann zerreißt es Dir natürlich das gesamte Design.

Um dieses Problem zu umschiffen, legst Du Dir am besten ein tpl-File für das "Zeilendesign" an. Dort gibst Du dann per PHP jedes einzelne Feld aus und umschließt die beiden Felder mit dem Div. Dabei muss man aber beachten, wenn man zu einem späteren Zeitpunkt weitere/neue View-Felder anlegt, müssen diese auch immer in dieses "Zeilendesign-Template" einzeln aufgeführt werden da sie ansonsten nicht angezeigt werden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke

Eingetragen von DiabTeen (36)
am 23.04.2011 - 00:27 Uhr
Ionit schrieb

Um dieses Problem zu umschiffen, legst Du Dir am besten ein tpl-File für das "Zeilendesign" an. Dort gibst Du dann per PHP jedes einzelne Feld aus und umschließt die beiden Felder mit dem Div. Dabei muss man aber beachten, wenn man zu einem späteren Zeitpunkt weitere/neue View-Felder anlegt, müssen diese auch immer in dieses "Zeilendesign-Template" einzeln aufgeführt werden da sie ansonsten nicht angezeigt werden.

Vielen Dank ... das war die Lösung ;)

Habe es jedoch mittels abfrage gelöst, sodass nun der startende div tag vor den Feld eingefügt wird und der endende nach dem zweiten Feld.

Hier mal der Code:

<?php foreach ($fields as $id => $field): ?>
  <?php if (!empty($field->separator)): ?>
    <?php print $field->separator; ?>
  <?php endif; ?>
 
  <?php if($field->class == "feld1"): ?>
    <div class="meinCSS">
  <?php endif; ?>

  <<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
    <?php if ($field->label): ?>
      <label class="views-label-<?php print $field->class; ?>">
        <?php print $field->label; ?>:
      </label>
    <?php endif; ?>
      <?php
     
// $field->element_type is either SPAN or DIV depending upon whether or not
      // the field is a 'block' element type or 'inline' element type.
     
?>

      <<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
  </<?php print $field->inline_html;?>>
 
    <?php if($field->class == "feld2"): ?>
        </div>
    <?php endif; ?>
<?php endforeach; ?>

Damit sollten auch neu hinzukommende Felder etc kein Problem sein, entweder kommen die in den div Container oder halt an ihrer Stelle ... wenn man sie nicht verschiebt dürften sie nun nach dem div kommen ;)

Nochmals vielen Dank :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gern geschehen;-) Wenn das

Eingetragen von Ionit (1802)
am 23.04.2011 - 01:30 Uhr

Gern geschehen;-)

Wenn das Thema erledigt ist, setze bitte den Titel Deines Eingansgposting auf [gelöst]

Viele Grüße
Matthias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Semantic views

Eingetragen von stBorchert (6003)
am 23.04.2011 - 11:19 Uhr

Hallo.
Noch ein kleiner Nachtrag: verwende einfach das Modul [do:semanticviews Semantic views]. Damit kannst Du das HTML der Elemente leicht anpassen und auch noch "Wrapper"-Elemente um Felder hinzufügen.
Bei Views 3.x ist die Funktionalität bereits enthalten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, jetzt habe ich das

Eingetragen von drupaller (21)
am 09.06.2011 - 12:34 Uhr

Hallo,
jetzt habe ich das nach obiger Anleitung eingerichtet und habe die Vorlagen neu eingelesen.
Die Vorlagen sind auch aktiv, weil hervorgehoben, aber die Änderung (der neue DIV-Bereich) wird nicht angezeigt - auch nicht nach dem Löschen des Cache.
Wahrscheinlich ein einfacher Fehler, aber ich komme nicht drauf...

Achso, fast vergessen - ist D7

Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 3 Tagen
  • Wenn die Subdomain auf
    vor 1 Woche 5 Tagen
  • ordnerstruktur
    vor 1 Woche 5 Tagen
  • Die Subdomain muß auf den
    vor 2 Wochen 1 Tag
  • Verwende doch das Tag dafür,
    vor 5 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 2 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 2 Tagen
  • Ich habe ja keine Angst vor
    vor 6 Wochen 5 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 7 Wochen 9 Stunden
  • Vielen Dank erst einmal, aber
    vor 7 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250289
Registrierte User: 20517

Neue User:

  • Wolf Dab
  • Scottteday
  • MichaelPeeno

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