Views: Imagecache soll nur Thumbnails von Nodes anzeigen, bei denen EIN Bild hinterlegt ist! Wie umsetzen?
am 20.09.2008 - 17:31 Uhr in
Hallo,
ich nutze Imagecache in Verbindung mit Views. Views gibt in Verbindung mit Imagecache die verkleinerten Node-Bilder (Thumbnails) aus.
Leider werden in der Viewsansicht, bei Nodes bei denen KEIN Bild hinterlegt ist, versucht ein Bild anzuzeigen bzw ein Thumbnail zu erstellen. Da allerding das Node kein Bild hat, kann auch kein Thumbnail geladen werden und es erscheint ein "Bild konnte nicht geladen Fehler", also ein rotes X.
Wie kann ich nun Views oder Imagechache beibringen, dass nur Thumbnails für die Nodes erstellt werden sollen, bei denen auch ein Bild hinterlegt wurde, so dass ich die Grafikladefehler vermeiden kann.
Ich hoffe ihr könnt nachvollziehen, was ich meine..
Würde mich wirklich über Hilfe von euch freuen.
Herzlichen Dank.
Viele Grüße
Florian
- Anmelden oder Registrieren um Kommentare zu schreiben
- Bei Views setzt du einfach
am 20.09.2008 - 18:09 Uhr
- Bei Views setzt du einfach einen Filter Feld Image...
- Bei CCK kannste im node Template Fragen
<?php
if (isset($node->field_image[0])) {
print $node->content['field_image']['#view'];
}
?>
PS... man ist das Peinlich du benutzt den Internet Explorer
Als alternative könnte man auch einfach die Themefunktion von Imagecache um eine Ifabfrage erweitern
<?php
/**
* Create and image tag for an imagecache derivative
*
* @param $namespace
* presetname of the derivative you wish to generate a tag for.
* @param $path
* path to the original image you wish to create a derivative image tag for.
* @param $alt
* img tag alternate text
* @param $title
* img tag title text
* @param attributes
* optional drupal attributes array. If attributes is set, the default imagecache classes
* will not be set automatically, you must do this manually.
*/
function theme_imagecache($namespace, $path, $alt = '', $title = '', $attributes = null) {
// check is_null so people can intentionally pass an empty array of attributes to override
// the defaults completely... if
if (!$path) {
return '';
}
if (is_null($attributes)) {
$attributes['class'] = 'imagecache imagecache-'. $namespace;
}
$attributes = drupal_attributes($attributes);
$imagecache_url = imagecache_create_url($namespace, $path);
return '<img src="'. $imagecache_url .'" alt="'. check_plain($alt) .'" title="'. check_plain($title) .'" '. $attributes .' />';
}
?>
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Hallo dereine!! ;) Nein ich
am 20.09.2008 - 18:21 Uhr
Hallo dereine!! ;)
Nein ich nutze Firefox :D aber 70% der restlichen User nicht! ;)
Also auf die Idee mit dem Filter(Feld Image) in Views bin ich auch gekommen. Allerdings erzielt das nicht das gewünschte Resultat.
Views gibt das Thumbnail aus und den Node Titel. Wenn ich nun den Filter Feld Image in Views setze, dann wird auch der Node Titel weggeblendet wenn bei dem Node kein Bild hinterlegt ist. Ich möchte allerdings lediglich dass kein Thumbnail-Fehler angezeigt wird, der Titel muss aufjedenfall stehen bleiben.
Verstehst du was ich meine? Wäre das mit deinen anderen Alternativen umsetzbar?
sooo, danke für deinen 3.
am 20.09.2008 - 18:32 Uhr
sooo, danke für deinen 3. tipp.
habe in die modul datei, die if abfrage hinzugefügt, sprich:
if (!$path) {
return '';
}
eingefügt.
und es funktioniert...auch wenn ich den code nicht nachvollziehen kann, schande über mich....
NEIN Es ist wieder eine
am 20.09.2008 - 20:51 Uhr
NEIN
Es ist wieder eine Katze gestorben....
mache sofort die Veränderung rückgängig
dann kopiere dir mein Snippet in die template.php und ersetzte theme mit dem Themenamen deines aktiven Themes...fertig
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Meine war es nicht! Wo ist
am 21.09.2008 - 13:41 Uhr
Meine war es nicht!
Wo ist überhaupt der Unterschied ob ich die Änderung direkt an der Moduldatei mache oder in der template.php? Im Endeffekt kommt das gleiche Ergebniss ja dabei raus. Habe jetzt aber trotzdem alles in die template.php geschrieben, trotzdem würde mich interessieren, wieso die Änderung nicht an der Moduldatei vornehmen? Zwecks späterem Update?
Grüße
Florian
genau das ist es,
am 21.09.2008 - 14:01 Uhr
genau das ist es, template.php kannste verändern wie man will, Moduldateien verändern sic ziemlich oft, wenn Bug gefixed werden.
Zudem kann man in den Moduldateien ziemlich viel falsch machen
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
juti, dacht ich mir schon.
am 21.09.2008 - 14:05 Uhr
juti, dacht ich mir schon. dann nochmal herzlichen dank für deine schnelle hilfe!!! und die katze tut mir immernoch leid! ;)