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

Custom Pager anpassen

Eingetragen von BillyAC (3)
am 01.05.2013 - 21:23 Uhr in
  • Module
  • Drupal 6.x oder neuer

Hallo,

ich habe im Netz etwas gefunden, das mir erlaubt, anstatt eines üblichen prev/next pagers, die vorherigen und nächsten Beiträge anhand von Thumbnails anzuzeigen. Funktioniert auch soweit, leider funktioniert es nur, wenn ich die Bilder per Thumbnail ausgeben lasse. Eigentlich kein Problem, aber ein .png Bild z.B. bei einer Größe von 400 x 250 ist genauso groß, wie das von Drupal erstellte Thumbnail von 181x101 (ca. 20kb). Das ist mir etwas zu groß, daher würde ich die Bilder gerne direkt in der Größe hochladen und einfach nicht einblenden, nur eben für den Pager nutzen. Leider finde ich nicht heraus, was ich tun muss, damit er den richtigen Pfad zur Original-Datei findet. Momentan sieht der Code so aus und funktioniert, aber nur wenn ich die Thumbnail Bilder nutze.

template.php

function prevnext_nav($nid) {
   $result = db_query("SELECT i.image_size, f.filepath FROM {image} i INNER JOIN {files} f ON i.fid = f.fid WHERE i.nid = %d", $nid);
   $images = array();
   while ($file = db_fetch_object($result)) {
     $images[$file->image_size] = file_create_path($file->filepath);
  }
return '<img src="/'. $images['thumbnail'].'">';
}

custom-pager.tpl.php

<ul class="custom-pager custom-pager-<?php print $position; ?>">
<div id="icon-pager">
  <li class="previous">
  <?php
 
print '<div class="prev-icon" >'. l(prevnext_nav($nav_array['prev']), 'node/'. $nav_array['prev'], $options = array('html' => TRUE)) .'</div>';
  print
$previous; ?>

  </li>
  <li class="key"><?php print $key; ?></li>
  <li class="next"><?php
 
print '<div class="next-icon" >'. l(prevnext_nav($nav_array['next']), 'node/'. $nav_array['next'], $options = array('html' => TRUE)) .'</div>';
  print
$next; ?>
</li>
</ul>
</div>

Wäre wirklich dankbar, wenn mir jemand sagen kann, wie ich ihn die Original Bilder ausgeben lassen kann.

Grüße
Andreas

‹ Karte mit Markierung? [gelöst]Rules Tax Vokabular bei Inhaltserstellung automtisch hinzufügen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Du muss den Teil <?phpreturn

Eingetragen von Sense (1517)
am 03.05.2013 - 10:19 Uhr

Du muss den Teil

<?php
return '<img src="/'. $images['thumbnail'].'">';
?>

entsprechend ersetzen und dort einmal einen Debug-Output ausgeben damit Du weisst was alles an Daten geliefert wird. Des Weiteren könntest Du das Bild über Imagecache anpassen/verkleinern lassen, dann hätten die Bilder auch immer die gleiche Größe.

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deine Antwort, ich

Eingetragen von BillyAC (3)
am 03.05.2013 - 11:45 Uhr

Danke für deine Antwort, ich habe mir das Devel Module geladen, aber leider weiss ich nicht, wie ich den Path des 'original' Bilds bekomme. Sobald ich ich 'thumbnail' ändere, erscheinen keine Bilder mehr. Das Image in der jeweiligen Node wird aber geladen, wie in meinem Snippet, das heißt ich muss irgendwie an den Path kommen, aber mit dem Debug-Output sehe ich auch nicht, wie ich die url definieren kann.

0.18
1
image_load
SELECT i.image_size, f.filepath FROM image i INNER JOIN files f ON i.fid = f.fid WHERE i.nid = 13

So holt er sich das Bild der eigentlichen Node.
Kannst du mir vielleicht sagen, was ich ersetzen muss, um ihn dann dir originalen Bilder ausgeben zu lassen? Imagecache setze ich extra nicht ein, da er die Bilder beim anpassen auch wieder vergrößert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mit folgendem Code bekommst

Eingetragen von Sense (1517)
am 03.05.2013 - 11:54 Uhr

Mit folgendem Code bekommst Du den gesamten Output:

<?php
dpm
($images);
?>

Mit dem Imagecache Modul kannst Du dann das Bild entsprechend verkleinern lassen (Preset musst Du dann anlegen)

<?php
return theme('imagecache', 'PRESETNAME', $images['ARRAYKEY']);
?>

PRESETNAME und ARRAYKEY musst Du entsprechend ersetzen

Die Weiteren Parameter von theme_imagecache findest Du hier:
http://drupalcontrib.org/api/drupal/contributions!imagecache!imagecache.module/function/theme_imagecache/6

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich danke dir vielmals.

Eingetragen von BillyAC (3)
am 03.05.2013 - 14:29 Uhr

Ich danke dir vielmals.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal 8: Fußzeilenmenü auf Login-Seite verschwunden
  • Vom jeweiligen User die Kunstwerke ausgeben.
  • Fullcalendar - Grösse Dialogfenster
  • Notify-Modul: Einmalige Benachrichtigung ueber neue Nodes senden
  • [gelöst]Drupal 9 und Ubuntu 20.04
  • [gelöst] Swiftmailer installieren um Simplenews zum Laufen zu bringen
  • Installiert ja, aber kein einziger link funktioniert
  • Drupal 9 - "read more" übersetzen nun anders, nur wie?
  • [gelöst] Nur editierbare Medien in Media-View anzeigen
  • Probleme mit dem Adminmenü
  • Inhalte ändern/erstellen nicht möglich - Problem mit Datenbank-Verbindung?
  • Groups und Drupal 9
Weiter

Neue Kommentare

  • irgendwo wird doch die nutzer
    vor 21 Stunden 16 Minuten
  • inst schrieb Hallo, ich
    vor 21 Stunden 21 Minuten
  • Kein Problem. Ich helfe dir
    vor 2 Tagen 20 Stunden
  • ?????Bahnhof,
    vor 2 Tagen 20 Stunden
  • Wenn du es geschafft hast
    vor 2 Tagen 22 Stunden
  • All-Inkl und Composer 2
    vor 2 Tagen 22 Stunden
  • dinmikkith schrieb xampp auf
    vor 2 Tagen 22 Stunden
  • Ich bin auch bei All-Inkl und
    vor 2 Tagen 22 Stunden
  • Hallo, ok, verstehe. Aktuell
    vor 2 Tagen 22 Stunden
  • d.h. ohne Know How wie z.B.
    vor 2 Tagen 22 Stunden

Statistik

Beiträge im Forum: 246302
Registrierte User: 18907

Neue User:

  • Demophobie
  • JorgeClayton
  • fel

» Alle User anzeigen

User nach Punkten sortiert:
wla9036
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3917
ronald3834
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 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