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 - 20: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 - 21: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 - 21: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 22.04.2011 - 23: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 - 00: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 - 10: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 - 11: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

  • 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 Tagen 19 Stunden
  • Hey danke
    vor 3 Tagen 13 Stunden
  • Update: jetzt gibt's ein
    vor 4 Tagen 7 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 1 Tag
  • Da scheint die Terminologie
    vor 1 Woche 1 Tag
  • Kannst doch auch alles direkt
    vor 1 Woche 6 Tagen
  • In der entsprechenden View
    vor 1 Woche 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 6 Tagen
  • gelöst
    vor 4 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

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