next & previous links mit dem image-Modul
am 07.02.2006 - 21:14 Uhr in
Hallo an alle..
Ich bin noch ein ziemlicher Drupal-Noob, aber dank den Hilfestellungen hier und auf drupal.org konnte ich schon ganz gute Ergebnisse erzielen.
Nur die Bilderalben bereiten mir im Moment noch Probleme...
Mit dem image-Modul (+image_import) bin ich eigentlich ganz zufrieden, mir fehlt nur die Möglichkeit zwischen den einzelnen Bildern eines Albums hin und her zuschalten, wie es etwa mit acidfree möglich ist.
Jetzt habe ich unter http://drupal.org/node/45050 eine Anleitung gefunden, um genau diese Funktion über ein paar Zeilen php-Code einzufügen.
Allerdings gibt es folgendes Problem:
Ich habe die nötigen Code-Zeilen wie in der verlinkten Anleitung beschrieben in die template.php meines Themes kopiert und danach eine Datei "node-image.tpl.php" erstellt, in der die angegebenen Zeilen stehen. Nun erscheinen zwar bei der Anzeige in der Galerie die gewünschten Links zum nächsten und vorigen Bild, allerdings werden dann keine Bilder mehr angezeigt, was ja auch nicht Sinn der Sache ist ;)
Kann es ein, dass in node-image.tpl.php noch mehr stehen muss, als nur diese 3 Zeilen? Leider habe ich dazu trotz Suche nichts mehr gefunden und würde mich freuen, wenn jemand hier einen Rat wüsste.
Achja ich benutze Drupal 4.6.5 und das friendselectric-theme, falls das eine Rolle spielen sollte..
Vielen Dank schonmal..
mfg Krypton
- Anmelden oder Registrieren um Kommentare zu schreiben
In der Datei sollte
am 07.02.2006 - 21:36 Uhr
In der Datei sollte unbedingt noch mehr stehen, hier ist ein Überlick über die vorhandenen Variablen:
http://drupal.org/node/11816
Am besten kopierst Du einfach den Inhalt Deiner node.tpl.php Datei zzgl. der drei o.g. Zeilen in die node-image.tpl.php, dann sollte es funktionieren.
Deine Datei
am 07.02.2006 - 22:19 Uhr
Deine Datei
node-image.tpl.php
sollte dann in etwa so aussehen:<div class="node<?php print ($sticky) ? " sticky" : ""; ?>">
<?php if ($page == 0): ?>
<h2 class="title"><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<?php print $picture ?>
<div class="content">
<?php print $content ?>
</div>
<?php if ($picture): ?>
<span class="clear"></span>
<?php endif; ?>
<?php if ($submitted): ?>
<div class="info"><?php print format_name($node) . ' – ' . str_replace('-', ' – ', format_date($node->created)) ?></div>
<?php endif; ?>
<?php if ($terms): ?>
<div class="terms"><?php print $terms ?></div>
<?php endif; ?>
<?php if ($links): ?>
<div class="links"><?php print $links ?></div>
<?php endif; ?>
</div>
<?php
$next = next_prev($node->nid, 'image', 'next', 'Next', 'test');
$previous = next_prev($node->nid, 'image', 'prev', 'Previous', 'test');
echo "<div class=\"center\">".$previous . " | " . $next ."</div>";
?>
Und ich würde dann noch eine Bedingung einfügen, die bewirkt, dass die Links nicht auf der frontpage angezeigt werden, denn da haben sie eigentlich nichts verloren:
<div class="node<?php print ($sticky) ? " sticky" : ""; ?>">
<?php if ($page == 0): ?>
<h2 class="title"><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<?php print $picture ?>
<div class="content">
<?php print $content ?>
</div>
<?php if ($picture): ?>
<span class="clear"></span>
<?php endif; ?>
<?php if ($submitted): ?>
<div class="info"><?php print format_name($node) . ' – ' . str_replace('-', ' – ', format_date($node->created)) ?></div>
<?php endif; ?>
<?php if ($terms): ?>
<div class="terms"><?php print $terms ?></div>
<?php endif; ?>
<?php if ($links): ?>
<div class="links"><?php print $links ?></div>
<?php endif; ?>
</div>
<?php
if (!$is_front) {
$next = next_prev($node->nid, 'image', 'next', 'Next', 'test');
$previous = next_prev($node->nid, 'image', 'prev', 'Previous', 'test');
echo "<div class=\"center\">".$previous . " | " . $next ."</div>";
}
?>
vg
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Vielen Dank..
am 08.02.2006 - 19:36 Uhr
.. nur leider funktioniert das auch nicht :(. Meine node-image.tpl.php sieht wie die obige aus, jedoch bekomme ich bei der Ansicht eines Bildes nur noch eine leere Seite.. Die Thumbnails funktionieren noch wie gewohnt, bei den entsprechenden Einzelansichten erscheint gar nichts mehr.
Ich hoffe ihr wisst zu diesem Problem einen Rat..
mfg Krypton
<div
am 08.02.2006 - 20:10 Uhr
Hast Du den Code von oben kopiert?
Das sind leider die Anführungszeichen falsch dargestellt, versuche mal den nachfolgenden Code, der läuft bei mir einwandfrei:
<div class="node<?php print ($sticky) ? " sticky" : ""; ?>">
<?php if ($page == 0): ?>
<h2 class="title"><a href="/<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<?php print $picture ?>
<div class="content">
<?php print $content ?>
</div>
<?php if ($picture): ?>
<span class="clear"></span>
<?php endif; ?>
<?php if ($submitted): ?>
<div class="info"><?php print format_name($node) . ' – ' . str_replace('-', ' – ', format_date($node->created)) ?></div>
<?php endif; ?>
<?php if ($terms): ?>
<div class="terms"><?php print $terms ?></div>
<?php endif; ?>
<?php if ($links): ?>
<div class="links"><?php print $links ?></div>
<?php endif; ?>
</div>
<?php
if (!$is_front) {
$next = next_prev($node->nid, 'image', 'next', 'Next', 'test');
$previous = next_prev($node->nid, 'image', 'prev', 'Previous', 'test');
echo "<div class=\"center\">".$previous . " | " . $next ."</div>";
}
?>
Jetzt sollten auch die Anführungszeichen stimmen.
vg
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Sorry!
am 08.02.2006 - 20:21 Uhr
Das sind leider die Anführungszeichen falsch dargestellt
Sorry! Ich glaube das liegt am Smarty-Pants-Filter - ich habe ihn mal für alle Eingabeformate deaktiviert!
Wow..
am 08.02.2006 - 20:22 Uhr
Vielen, vielen Dank das war's, jetzt läuft alles perfekt :)
Edit: Sorry ein Problem hab ich doch noch. Bei einem Klick auf Previous erscheint nicht das vorige Bild, sondern das als erstes importierte. Das Problem liegt ja dann wohl in der Funktion in der template.php oder? Könnt ihr das bestätigen, oder klappt es nur wieder bei mir nicht?
Edit2:
Konnte das Problem inzwischen lösen. Es lag tatsächlich am Code in der template.php. Nimmt man den Code aus einem Kommentar zu der Anleitung, funktioniert alles tadellos.
greets Krypton