Fehlerhafte Darstellung
Eingetragen von Piet (500)
am 20.01.2009 - 11:45 Uhr in
am 20.01.2009 - 11:45 Uhr in
Im IE werden Bilder, die nicht hochgeladen werden oder gelöscht werden, als Platzhalter angezeigt. Im Firefox bleiben diese unsichtbar.
wie kann man diese probleme lösen, damit auch diese Platzhalter beim lösche verschwinden?
Die Bilder werden über Upload und Imagacache hochgeladen.
Screenshot:
- Anmelden oder Registrieren um Kommentare zu schreiben
Das Naheliegenndste ist,
am 20.01.2009 - 11:56 Uhr
Das Naheliegenndste ist, keinen Code für nicht existierende Bilder auszuspucken. Findest du nicht auch?
Suchmaschinenoptimierung (SEO) & Drupal
sorry aber ich kann mit
am 20.01.2009 - 12:06 Uhr
sorry aber ich kann mit deinem Kommentar nichts anfangen. Was genau meinst du bitte?
Ich kann damit nichts anfangen, da ich nicht wüsste wie ich das umgehen kann, deswegen meine frage zur problemlösung.
?
am 21.01.2009 - 08:51 Uhr
?
Weiss da keiner was? Müsste
am 21.01.2009 - 08:51 Uhr
Weiss da keiner was?
Müsste ich in einem Modul was eitieren oder in der MySqlDatnbank, damit solche hässlichen Halter nach dem löschen verschwinden?
Immer noch keiner einen
am 27.01.2009 - 17:25 Uhr
Immer noch keiner einen Tipp? nur einen?
Oder zumindest der Langer seinen Tipp konkretesieren!?
Hallo, Alexander hat sich
am 27.01.2009 - 19:30 Uhr
Hallo,
Alexander hat sich doch konkret ausgedrückt! Am Besten gibst Du einfach nicht die HTML Ausweisung für ein Bild aus, dann erscheint auch kein Platzhalter ;-) Wie werden denn diese Platzhalter überhaupt erzeugt? Was willst Du denn damit erreichen? :-x
*************************************************************************************************
Ihr erwartet doch nicht ehrlich eine Meinung die frei von eigener Meinung ist, in einem Drupal Forum... ;)
Ihr erwartet doch nicht ehrlich eine Meinung die frei von eigener Meinung ist, in einem Drupal Forum... ;)
Hi Andreas, schon klar, aber
am 27.01.2009 - 19:39 Uhr
Hi Andreas,
schon klar, aber wie unterdrücke ich die Html-Ausgabe?
die Bilder werden per CCK Image hochgeladen.
Hallo Piet, für mich schaut
am 27.01.2009 - 19:50 Uhr
Hallo Piet,
für mich schaut es so aus als wolltest Du eine Newsseite darstellen. Also sollte der Inhaltstyp ungefähr so aussehen:
Title
Teaser Bild
Teaser Text
Fullstory Bild
Fullstory Text
So wie ich das verstehe soll nur ein Bild darstellt werden im Teaser, es reicht also nur ein CCK Image Field dafür. Wo ist nun genau Dein Problem bzw. habe ich bei der schwammigen Fragestellung etwas falsch erraten?
*************************************************************************************************
Ihr erwartet doch nicht ehrlich eine Meinung die frei von eigener Meinung ist, in einem Drupal Forum... ;)
Ihr erwartet doch nicht ehrlich eine Meinung die frei von eigener Meinung ist, in einem Drupal Forum... ;)
Also, du verstehst das schon
am 27.01.2009 - 20:07 Uhr
Also, du verstehst das schon richtig, aber
man hat diesen Blogbereich ( Siehe Bild )
Nun Hat man den
TITEL
TEXT
BILD1
BILD2
BILD3
usw.
das ist alles mit CCK und CCK IMAGE generiert.
Nun folgendes Szenario:
Man erstellt den Blog-Inhalt und befüllt alle Bilder, also sieht man nicht nur wie oben das Eine, sondern meinetwegend 5 Andere.
Am nächsten Tag will ich aber 4 löschen, damit nur noch ein Bild zu sehen ist.
UND DANN, dann kommen diese hässlichen Platzhalter im IE zustande!
Ich möchte nun wissem, wie ich diese Platzhalter nach dem Löschen eines Bildes los werde?
Dann solltest Du den Inhalt
am 27.01.2009 - 20:27 Uhr
Dann solltest Du den Inhalt der Felder löschen und nicht einfach nur die Bilder auf dem Server.
das war kein guter Rat, all
am 27.01.2009 - 22:50 Uhr
das war kein guter Rat, all das habe ich gemacht und nicht über den Server gelöscht.
Ausserdem wenn man mal ein Projekt für einen Kunden hat, kann man nicht von ihm verlangen Daten vom Server und per Admin-Backend zu löschen. ALSO DOPPELT ARBEITEN MUSS ALS LAIE!
Daher suche ich weiter, ich danke für konstruktive Hilfe!
Zitat: Ausserdem wenn man
am 27.01.2009 - 22:40 Uhr
Ausserdem wenn man mal ein Projekt für einen Kunden hat, kann man nicht von ihm verlangen Daten vom Server und per Admin-Backend zu löschen.
Wie denn sonst? Per Gedankenübertragung?
Sorry, vielleicht solltest Du dein Anliegen mal vernünftig formulieren, dann kann man vielleicht ahnen, was Du überhaupt willst.
tz tz tz, nicht alles auf
am 27.01.2009 - 22:49 Uhr
tz tz tz, nicht alles auf den Herzen nehmen, dazu ist das Forum nicht da!
Aber ich denke schon das es verständlich ist!
Und wiegesagt Dein Post bringt wenig, weil das keine Lösung war!
Die Bilder dem CMS per FTP
am 27.01.2009 - 22:52 Uhr
Die Bilder dem CMS per FTP unterm Arsch wegzureißen ist nicht Sinn und Zweck eines Content Management Systems.
Wenn ich vom Kunden nicht verlangen kann ein CMS zu bedienen, wozu braucht der Kunde dann ein CMS?
Dein Use Case ist irgendwie.. ähm... speziell?
Suchmaschinenoptimierung (SEO) & Drupal
Piet schrieb tz tz tz,
am 27.01.2009 - 22:53 Uhr
tz tz tz, nicht alles auf den Herzen nehmen, dazu ist das Forum nicht da!
Aber ich denke schon das es verständlich ist!
Und wiegesagt Dein Post bringt wenig, weil das keine Lösung war!
Deine Posts brachten bisher auch wenig mehr als Fragezeichen auf der Stirn des Lesenden. Versetz dich mal in dei Lage von jemandem der nicht in deinem Projekt steckt und dann versuch mal selbst aus deinen Posts schlau zu werden.
Machs wie im Basketball: Hilf dem Helfer!
Suchmaschinenoptimierung (SEO) & Drupal
naja wollen wir jetzt
am 27.01.2009 - 23:21 Uhr
naja wollen wir jetzt darüber reden was der Kunde zu tun hat, oder wie man solche Probleme löst?
Denn diese Aussage bringt trotzdem nichts, habe ja die Bilder über das System und dann über FTP gelöscht und es geht nicht, daher kann von mir aus der Kunde den ganzen Tag auf den Server drauf, bringen tuts in diesem Fall jedoch wenig.
Ich kann nur das schildern wie ich das sehe und schliesslich macht man Posts damit andere später diese Fehlerlösungen wiederfinden, aber wenn man nicht vernünftig eine Gegenfrage stellt, kann ich auch nicht wissen was nicht verstanden wird.
Was ist denn hier noch offen? Schliesslich hast Du ja am Anfang einen Eintrag gemacht, der für mich nicht verständlich war, den hast Du aber auch nicht konkretisiert!
Mach doch mal zu einem
am 27.01.2009 - 23:36 Uhr
Mach doch mal zu einem verhunzten Node wie dargestellt einen Screenshot der komplett aufgeklappten Bearbeiten-Seite (dafür bietet sich auch das Firefox Add-On "Screen grab!" an) und gib mal den kompletten Output von print_r($node) für den Node mit. Evtl. auch noch den Code des Node Templates / der template.php, falls da eigenes PHP-Geraffel dazu von dir drin ist.
Suchmaschinenoptimierung (SEO) & Drupal
imagecache Ausgabe ändern
am 28.01.2009 - 10:26 Uhr
wie kann man diese probleme lösen, damit auch diese Platzhalter beim lösche verschwinden?
Die Bilder werden über Upload und Imagacache hochgeladen.
Das Modul imagecache gibt trotz nicht vorhandenem Bild den Pfad zu "diesem" an. Um das nach deinen Wünschen zu lösen, gibt es eine Möglichkeit. Wenn du dir nachfolgenden Code in deine Datei template.php schreibst, wird eine Ausgabe unterdrückt, solange kein Bildpfad übergeben wird.
function phptemplate_imagecache($namespace, $path, $alt = '', $title = '', $attributes = null) {
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 .' />';
}
Ich denke, dies ist in deinem Sinne.
Hallo Rainman, leider
am 29.01.2009 - 15:09 Uhr
Hallo Rainman,
leider erhalte ich eine weisse Seite, sobald ich diesen Code in meine template.php einfüge.
imagecache
am 29.01.2009 - 21:58 Uhr
leider erhalte ich eine weisse Seite, sobald ich diesen Code in meine template.php einfüge.
Das erschüttert mich jetzt ein wenig, da ich diesen Code seit Ewigkeiten in mehreren Onlinepräsenzen mit Drupal 5.x einsetze. Dort wird allerdings keine weiße Seite angezeigt, sondern funktioniert einwandfrei.
Vielleicht ist dir ein Fehler beim Einfügen unterlaufen? Dies ist sogar sehr wahrscheinlich, da mein vorgestellter Code zum größten Teil dem der Funktion theme_imagecache entspricht.
Nimm dir also ein bisschen Zeit und wiederhole dein Vorgehen. Achte bitte dabei auf jede Klammer, die sich dir in den Weg stellt. Ansonsten kennst du jetzt zumindest den Weg zur Lösung.
so sieht meine template.php
am 29.01.2009 - 23:34 Uhr
so sieht meine template.php aus und wie gesagt gehts leider nicht, sobald ich den Code vor dem return output einfüge, gehts nicht mehr:
<?php
function bleausard_regions() {
return array(
'sidebar_left' => t('sidebar_left'),
'content' => t('content'),
);
}
function phptemplate_imagecache($namespace, $path, $alt = '', $title = '', $attributes = null) {
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 .' />';
}
return $output;
?>
return $output entsorgen
am 30.01.2009 - 08:19 Uhr
... sobald ich den Code vor dem return output einfüge, gehts nicht mehr ...
In der jetzigen Form deiner template.php hat das abschließendes
return $output
da nichts zu suchen und kann entsorgt werden.ist raus und dennoch eine
am 30.01.2009 - 10:04 Uhr
ist raus und dennoch eine weisse Seite!
template.php
am 30.01.2009 - 11:07 Uhr
ist raus und dennoch eine weisse Seite!
Genau so sollte deine template.php nun aussehen:
<?php
function bleausard_regions() {
return array(
'sidebar_left' => t('sidebar_left'),
'content' => t('content'),
);
}
function
phptemplate_imagecache($namespace, $path, $alt = '', $title = '', $attributes = null) {
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 .' />';
}
Wenn das bei dir so aussieht, auch ohne abschließendes
?>
und du trotzdem eine weiße Seite angezeigt bekommst, dann kann ich dir nicht mehr weiterhelfen.Ich könnte mir nur noch vorstellen, dass du woanders Änderungen vorgenommen hast. Das aber von der anderen Seite des PC zu untersuchen und rauszufinden wird wohl nicht funktionieren.
return $output;
gehören?habe nun das gleiche
am 30.01.2009 - 11:26 Uhr
habe nun das gleiche eingefügt, auch ohne abschliessendes PHP, aber ne weisse Seite ist das Resultat.
Cache geleert?
Cache war geleert.
Hast du deine komplette template.php hier geposted, oder hast du einige Sachen weggelassen?
Das war auch die komplette template.php
Zu welcher Funktion sollte das return $output; gehören?
Dies sollte allgemein eine Ausgabe generieren, da es mal vorkam das Seiten nicht angezeigt wurden, dieser Code hat
für solche Fälle Abhilfe geschaffen. Naja dann scheints wohl so zu sein, dass es darüber nicht geht.
Wie siehts aus mit dem Imagecache Modul, kann ich da eine Änderung vornehmen?
Modul imagecache
am 30.01.2009 - 11:56 Uhr
Wie siehts aus mit dem Imagecache Modul, kann ich da eine Änderung vornehmen?
Nein, im Modul selber sollten keine Änderungen vorgenommen werden, da bei einem Update deine Änderungen überschrieben werden würden. Spaßeshalber kannst du natürlich zu Testzwecken den Code dort ergänzen, solltest es aber wieder rückgängig machen, sobald du fertig bist mit testen.
Mit dem von mir angezeigten Code sollte die Funktion theme_imagecache im Modul imagecache überschrieben werden. Nachfolgend die original Funktion.
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 (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 .' />';
}
Geändert, bzw. hinzugefügt, wurde nur dieser kleine Fitzel:
if (!$path) {
return '';
}
Komplett sieht es dann so aus:
function phptemplate_imagecache($namespace, $path, $alt = '', $title = '', $attributes = null) {
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 .' />';
}
Wie du selbst siehst, hat sich an der Form der Ausgabe nichts geändert. Einzig und allein wurde der Funktion mitgeteilt, dass es nichts ausgeben soll, wenn $path leer ist.
Kann es sein das Du eine
am 30.01.2009 - 12:16 Uhr
Kann es sein das Du eine andere Version hast, habe die Imagecachversion: $Id: imagecache.module,v 1.19.2.35 2008/03/30 21:15:37 dopry Exp $
Mein Code schaut nämlich an der Stelle so aus:
function theme_imagecache($namespace, $path, $alt = '', $title = '', $attributes = NULL) {
$attributes = drupal_attributes($attributes);
$imagecache_path = file_create_url(file_directory_path() .'/imagecache/'. $namespace .'/'. $path);
return '<img src="'. $imagecache_path .'" alt="'. check_plain($alt) .'" title="'. check_plain($title) .'" '. $attributes .' />';
}
/**
* Clear cached versions of a specific file in all presets.
* @param $path
* The Drupal file path to the original image.
*/
function imagecache_image_flush($path) {
$presets = _imagecache_get_presets();
foreach ($presets as $presetid => $presetname) {
$ipath = file_directory_path() .'/imagecache/'. $presetname .'/'. $path;
file_delete($ipath);
}
}
keine Updates?
am 30.01.2009 - 12:34 Uhr
Kann es sein das Du eine andere Version hast, habe die Imagecachversion: $Id: imagecache.module,v 1.19.2.35 2008/03/30 21:15:37 dopry Exp $
Da hast du wohl recht. Es kann ja keiner ahnen das du keine Updates machst. Meine Version ist aktuell und damit fast ein Jahr neuer als deine: imagecache.module,v 1.68.2.11 2009/01/05 22:29:52
Für imagecache.module, v 1.19.2.35
am 30.01.2009 - 12:45 Uhr
Für imagecache.module, v 1.19.2.35 2008/03/30 21:15:37 (ungetestet)
function phptemplate_imagecache($namespace, $path, $alt = '', $title = '', $attributes = null) {
if (!$path) {
return '';
}
$attributes = drupal_attributes($attributes);
$imagecache_path = file_create_url(file_directory_path() .'/imagecache/'. $namespace .'/'. $path);
return '<img src="'. $imagecache_path .'" alt="'. check_plain($alt) .'" title="'. check_plain($title) .'" '. $attributes .' />';
}
ja das stimmt, hätte mal
am 30.01.2009 - 13:21 Uhr
ja das stimmt, hätte mal schauen sollen da wärs wahrscheinlich nicht zur weissen Seite gekommen.
Auf jeden Fall gehts nun, es ist vollbracht!
*****Danke für Deine Mühe!*****