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

Node mit einem Bild darunter kleine Vorschaubilder

Eingetragen von hunggaldier (40)
am 11.09.2007 - 12:00 Uhr in
  • Themes & Theming
  • Drupal 5.x

Hallo! Ich habe ein begehrtes und schwieriges Thema.
Ich möchte das z.B. beim Inhaltytyp Blog nur ein Bild (Mehrfachauswahl-Image-Feld) im Node angezeigt wird und alle weiteren darunter wie eine kleine Galerie (kein Einbinden eines Galerie-Moduls).

So sollte es aussehen: http://www.austrovespa.at/galerie.jpg
Das möchte ich verhindern: http://www.austrovespa.at/galerie_nein.jpg

Habe im Modul Forum erfahren, dass man das mit "Theming" anpassen kann: http://www.drupalcenter.de/node/5226
Hat jemand eine Idee dazu - bzw. einen Hinweis wo ich anfangen soll!

‹ inhaltstyp themen Die Suchausgabe (Search Modul) themen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

- den Inhaltstyp mit einem

Eingetragen von Alexander Langer (3416)
am 11.09.2007 - 12:09 Uhr

- den Inhaltstyp mit einem Multi-Value Image Field versehen
- zwei Settings im Image Cache Modul erstellen (z.B. "vorschau_gross", "vorschau_klein")
- die node-[Inhaltstyp].tpl.php anpassen (und schön mit HTML und CSS spielen)

Q&D Code-Schnipsel:

foreach ($node->field_bild as $bild) { // wenn das Image-Feld 'bild' heißt
  $filepath = $bild['filepath'];
  $alt = $bild['alt'];
  $title = $bild['title'];
  print theme('imagecache', 'vorschau_gross', $filepath, $alt, $title);
}

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hab ich gemacht - allerdings

Eingetragen von hunggaldier (40)
am 11.09.2007 - 12:32 Uhr

Hab ich gemacht - allerdings wird nur ein Bild angezeigt, wenn man im Display-Fields (Anrisstext und Full) auch vorschau_gross ausgewählt wird. Also der Code-Schnipsel für vorschau_klein funktioniert nicht (da nicht im Inhaltstyp Display Fields eingetragen Bilder werden nicht gecacht).
Ausserdem werden alle Bilder in der Größe angezeigt. Oder versteh ich wieder mal was falsch

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du musst natürlich schon ne

Eingetragen von Alexander Langer (3416)
am 11.09.2007 - 12:41 Uhr

Du musst natürlich schon ne Fallunterscheidung machen. Nen Zähler mitlaufen lassen und im ersten Durchlauf per Image Cache den großen Filter nutzen, danach den kleinen..

Es sollte ja nur ein Code-Schnipsel zur Verdeutlichung sein, wie man programmatisch auf Bilder zugreifen und sie via Image Cache skalieren kann.

P.S.:
Ich arbeite auch nicht mit Contemplate, weil mir die Projekte sonst zu unübersichtlich sind, wenn an zig verschiedenen Stellen das Layout beeinflusst wird. Dann hab ich lieber alles in Dateiform in meinem Theme-Ordner.

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

OK - Klar! Aber woher

Eingetragen von hunggaldier (40)
am 11.09.2007 - 12:43 Uhr

OK - Klar! Aber woher bekomme ich die gecachten Fotos? Wie beschrieben werden die Bilder nur im Ordner vorschau_klein erstellt wenn man im Display-Field Anrisstext und/oder Full vorschau_klein angibt.

Dann ist das erste Foto auch wieder klein!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

OK-Alles klar

Eingetragen von hunggaldier (40)
am 11.09.2007 - 12:50 Uhr

Nur noch 1. Wie schaffe ich es den Thickbox link einzubinden. Bei der Ausgabe werden die Bilder ohne Link angezeigt!
DANKE!!!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

hunggaldier wrote:

Eingetragen von Alexander Langer (3416)
am 11.09.2007 - 12:51 Uhr
hunggaldier schrieb

OK - Klar! Aber woher bekomme ich die gecachten Fotos?

Folgende Zeile liefert den kompletten Code (img-Tag) für das Bild in der entsprechenden Größe:

theme('imagecache', 'vorschau_gross', $filepath, $alt, $title)

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

hunggaldier wrote: Nur noch

Eingetragen von Alexander Langer (3416)
am 11.09.2007 - 12:58 Uhr
hunggaldier schrieb

Nur noch 1. Wie schaffe ich es den Thickbox link einzubinden. Bei der Ausgabe werden die Bilder ohne Link angezeigt!
DANKE!!!!!

Z.B. so:

$html .= '<a href="/'.$filepath.'" rel="'.$node->type.'-'.$node->nid.'" title="'.$alt.'" class="thickbox">'.theme('imagecache', 'breite_105px_hoehe_80px', $filepath, $alt, $title).'</a>';

Anmerkung:
Setzt man die Class auf thickbox, gibts beim Klick die Großansicht. Alle Elemente der Seite, die die Class thickbox gesetzt haben und denselben rel-Eintrag haben, können dann in der Großansicht vor- und zurück geschaltet werden. Darum benutze ich hier Typ und ID im rel-Attribut, da ich teils mehrere Gallerien auf einer Seite darstelle...

$filepath ist dabei der PFad des Original-Bildes aus dem ganz obigen Schnipsel...

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

Eines verstehe ich noch

Eingetragen von hunggaldier (40)
am 11.09.2007 - 14:34 Uhr

Eines verstehe ich noch immer nicht: Die Bilder "vorschau_klein" werden nicht angezeigt. Bei mir nennen sich die zwei Größen Thickbox und Vorschau. Aber egal. Trotzdem werden im Ordner "Vorschau" keine kleinen Bilder erzeugt ich habe die Auswahl "Vorschau" beim bild_field ja auch nicht ausgewählt sondern "Thickbox". Wie werden die Bilder angelegt? Wenn Du auf http://www.austrovespa.at/drupal schaust siehst Du, dass die Bilder fehlen.

Ich bin lässtig aber wenn Du vielleicht was fertiges hast würde ich dir das bezahlen!! Ich sehe kein Ende.
DANKE!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm, ich werde aus 'ich habe

Eingetragen von Alexander Langer (3416)
am 11.09.2007 - 14:49 Uhr

Hm, ich werde aus 'ich habe die Auswahl "Vorschau" beim bild_field ja auch nicht ausgewählt sondern "Thickbox"' nicht so ganz schlau.

Prinzipiell hast du was in dieser Art:

$index = 0;
foreach ($node->field_bild as $bild) { // wenn das Image-Feld 'bild' heißt
  $index++;
  $filepath = $bild['filepath'];
  $alt = $bild['alt'];
  $title = $bild['title'];
  if ($index == 1) {
    // das erste Bild in groß
    print '<a href="/'.$filepath.'" rel="'.$node->type.'-'.$node->nid.'" title="'.$alt.'" class="thickbox">'.theme('imagecache', 'gross', $filepath, $alt, $title).'</a>';
  } else {
    // die folgenden Bilder klein
    print '<a href="/'.$filepath.'" rel="'.$node->type.'-'.$node->nid.'" title="'.$alt.'" class="thickbox">'.theme('imagecache', 'klein', $filepath, $alt, $title).'</a>';
  }
}

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

SUPER!!

Eingetragen von hunggaldier (40)
am 11.09.2007 - 15:06 Uhr

print 'type.'-'.$node->nid.'" title="'.$alt.'" class="thickbox">'.theme('imagecache', 'gross', $filepath, $alt, $title).'';

Ich habe die Drupal installation im Unterordner "drupal" der filepath gibt den Unterordner nicht mit aus. Wenn ich den Ordner "drupal" eintrage kommt er doppelt.

Beispiel: http://www.austrovespa.at/drupal/drupal/files/alex1_0.jpg

  • Anmelden oder Registrieren um Kommentare zu schreiben

Stell ggf. den $base_path

Eingetragen von Alexander Langer (3416)
am 11.09.2007 - 15:14 Uhr

Stell ggf. den $base_path voran.

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bilder

Eingetragen von hunggaldier (40)
am 11.09.2007 - 15:58 Uhr

Das funktioniert wirklich perfekt. Hab jetzt das node.tpl.php kopiert und umbennent. Wie kann ich die "Originalbilder" ausblenden bzw. nur den neuen Code (Bilder) anzeigen lassen. Jetzt werden beide angezeigt.

Folgenden Code habe ich drin stehen:

<div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
    <?php if ($picture) {
      print
$picture;
    }
?>

    <?php if ($page == 0) { ?><h2 class="title"><a href="<?php print $node_url?>"><?php print $title?></a></h2><?php }; ?>
    <span class="submitted"><?php print $submitted?></span>

<?php
  drupal_add_js
('misc/collapse.js');
 
drupal_add_js('misc/drupal.js');
?>

    <?php if ($terms) { ?>
    <fieldset class="collapsible collapsed">
    <legend><a href="#">Kategorie</a></legend>
<div class="fieldset-wrapper">
<?php print $terms?>
</div>
    </fieldset>
    <?php };
$index = 0;
foreach (
$node->field_bild as $bild) { // wenn das Image-Feld 'bild' heißt
 
$index++;
 
$filepath = $bild['filepath'];
 
$alt = $bild['alt'];
 
$title = $bild['title'];
  if (
$index == 1) {
   
// das erste Bild in groß
   
print '<a href="/drupal/'.$filepath.'" rel="'.$node->type.'-'.$node->nid.'" title="'.$alt.'" class="thickbox">'.theme('imagecache', 'Thickbox', $filepath, $alt, $title).'</a>';
  } else {
   
// die folgenden Bilder klein
   
print '<a href="/drupal/'.$filepath.'" rel="'.$node->type.'-'.$node->nid.'" title="'.$alt.'" class="thickbox">'.theme('imagecache', 'IchBinDabei', $filepath, $alt, $title).'</a>';
  }
}
?>

    <!--<span class="taxonomy"><?php print $terms?></span>-->
    <div class="content"><?php print $content?></div>
    <?php if ($links) { ?><div class="links">&raquo; <?php print $links?></div><?php }; ?>
  </div>

Dann sind wir fertig - DANKE NOCHMALS!! LG Heimo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das liegt daran, dass du

Eingetragen von Alexander Langer (3416)
am 11.09.2007 - 16:23 Uhr

Das liegt daran, dass du $content ausgibst. Das enthält bereits den fertig gerenderten Inhalt vom Node (bzw. den des Teasers) inkl. der Bilder. Wenn dein Node ein CCK-Inhaltstyp ist, kannst du ja stattdessen einfach das Feld mit dem Text direkt ausgeben.

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

GESCHAFFT

Eingetragen von hunggaldier (40)
am 11.09.2007 - 21:34 Uhr

DANKE NOCHMALS!! BIST WIRKLICH SEHR GUT DRAUF!!

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20455

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 25 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