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 (1518)
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 (1518)
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

  • MariaDB 10.6
  • Wie kann man die Ansicht der Benutzer erweitern?
  • (Gelöst) SIMPLE XML SITEMAP liefert die Sitemap für das Menü nicht aus
  • Entity Reference - Title Felder werden als Link angezeigt
  • PHP 8.1 - Deprecated function: rtrim()
  • Preloader / Spnner entfernen Menu Link Modal-Modul
  • Schriftgröße standard einstellen
  • Drupal Website gestalten
  • Tokens werden in Viev als Link angezeigt
  • [bug entdeckt & workaround gefunden] benutzerdefinierte Felder vom Userprofil tauchen ungefragt auch in den Forumtopics auf...
  • [gelöst] Mass contact Empfängerliste nach Taxonomy Term statt Rolle
  • Update V. 9.3.12 auf V. 9.4 mit Fehler: Modul mySQL fehlt. Bitte Hilfe.
Weiter

Neue Kommentare

  • Ergebnis des upgrade
    vor 8 Stunden 45 Minuten
  • Danke, funktioniert einwandfrei!
    vor 9 Stunden 54 Minuten
  • Bei Drupal 7 war diese Seite
    vor 10 Stunden 53 Minuten
  • Es ist ein Paragraph
    vor 1 Tag 12 Stunden
  • Danke fürs Feedback. Gut dass
    vor 4 Tagen 5 Stunden
  • Patch angewandt
    vor 4 Tagen 8 Stunden
  • core_version_requirement: ^8
    vor 6 Tagen 9 Stunden
  • core_version_requirement: ^8
    vor 6 Tagen 9 Stunden
  • ok. Wenn ich das mache
    vor 6 Tagen 9 Stunden
  • Bei gleichem Namen hat das
    vor 6 Tagen 10 Stunden

Statistik

Beiträge im Forum: 247872
Registrierte User: 19592

Neue User:

  • Davidsnins
  • kudes
  • Tkakah

» Alle User anzeigen

User nach Punkten sortiert:
wla9214
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 5 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