WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 13.04.2025 18:24:11

kleo
Member

NWI beim fehlenden Bild automatisch ein vordefiniertes Bild anzeigen

Moin!

Das NWI-Modul  kann man für verschiedene Zwecke verwenden. Z.B. Produktverzeichnisse erstellen.

Wie kann ich es machen, dass beim fehlenden Produktbild ein vordefiniertes Bild (z.B. Nophoto) gezeigt wird?
Es muss aber nur für eine NWI-Seite wirken, nicht für alle.

Kann man bei der Einstellungen der NWI-Section etwas (im Prinzip eine IF-Bedingung) eingeben, damit es funktioniert?

Last edited by kleo (13.04.2025 18:25:11)

Offline

#2 13.04.2025 18:36:31

florian
Administrator

Re: NWI beim fehlenden Bild automatisch ein vordefiniertes Bild anzeigen

Das macht NWI schon. Wenn's kein Bild gibt, wird ein transparentes PNG ausgegeben (nopic.png).
https://github.com/WBCE/News-with-Image … .php#L1490
Wenn das auf bestimmten NWI-Seiten anders aussehen soll, müsste da dann noch eine Abfrage der Page-ID drumherumgestrickt werden.


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#3 15.04.2025 11:45:00

kleo
Member

Re: NWI beim fehlenden Bild automatisch ein vordefiniertes Bild anzeigen

Ich habe es folgender Weise gelöst:

in der Zeile ca. 1451:

function mod_nwi_post_process($post,$section_id,$users)
{
    global $MOD_NEWS_IMG, $TEXT, $admin;

durch

function mod_nwi_post_process($post,$section_id,$users)
{
    global $MOD_NEWS_IMG, $TEXT, $admin, $page_id;

ergänzt.

Und in der Zeile ca. 1489

    // posting (preview) image
    if ($post['image'] != "") {
        $imgdata = mod_nwi_img_get($post['image']);
        $post_img = "<img src='".WB_URL.MEDIA_DIRECTORY.'/.news_img/'.$post['image']."' alt='".htmlspecialchars($post['title'], ENT_QUOTES | ENT_HTML401)."' />";
    } else {
        $post_img = "<img src='".WB_URL."/modules/news_img/images/nopic.png' alt='empty placeholder' style='width:".$previewwidth."px;' />";
    }
    $post['post_img'] = $post_img;

so angepasst:

   // posting (preview) image
	if ($post['image'] != "") {
		$imgdata = mod_nwi_img_get($post['image']);
		$post_img = "<img src='".WB_URL.MEDIA_DIRECTORY.'/.news_img/'.$post['image']."' alt='".htmlspecialchars($post['title'], ENT_QUOTES | ENT_HTML401)."' />";
	} else {
		$custom_img_path = WB_PATH.MEDIA_DIRECTORY.'/.news_img/noimage/'.$page_id.'.jpg';
		if (file_exists($custom_img_path)) {
			$post_img = "<img src='".WB_URL.MEDIA_DIRECTORY."/.news_img/noimage/".$page_id.".jpg' alt='no image for page ".$page_id."' style='width:".$previewwidth."px;' />";
		} else {
			$post_img = "<img src='".WB_URL."/modules/news_img/images/nopic.png' alt='empty placeholder' style='width:".$previewwidth."px;' />";
		}
	}
	$post['post_img'] = $post_img;

Im Verzeichniss /media/.news_img/ einen neuen Ordner namens noimage angelegt und dorthin eine JPG-Datei mit dem Namen der PageID gelegt.

Es scheint zu funktionieren.

Vielleicht kann man es standardmäß für die nächste Version des NWI-Moduls einfügen.

Offline

Liked by:

florian

#4 15.04.2025 16:07:03

florian
Administrator

Re: NWI beim fehlenden Bild automatisch ein vordefiniertes Bild anzeigen

Prima, dass du selbst eine Lösung entwickelt hast.
An sich könnte das so übernommen werden. Einziger Wermutstropfen ist, dass das Verzeichnis /media/.news_img bewusst bzw. gewollt nicht in der Medienverwaltung im Backend angezeigt wird, deshalb wäre zu überlegen, die Platzhalterbilder auch unter modules/news_img/images zu speichern. Da könnten sie dann zumindest mit dem AFE hochgeladen/gelöscht werden.
Oder halt außerhalb von .news_img, also direkt unter media und dann als placeholder_42.jpg o.ä.

(Die beste Lösung wäre natürlich, direkt bei den NWI-Seiteneinstellungen einen Custom-Placeholder-Upload zu haben...)


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#5 18.04.2025 22:08:57

kleo
Member

Re: NWI beim fehlenden Bild automatisch ein vordefiniertes Bild anzeigen

Da bei den NWI Einstellungen nicht nur die Breite, sondern auch die Höhe der preview-Bilder angegeben wird, wäre es sinnvoll die Platzhalterbilder genauso zu behandeln wie die "normale" Bilder.

Deshalb kann der Code so angepasst werden:

$post_img = "<img src='".WB_URL.MEDIA_DIRECTORY."/.news_img/noimage/".$page_id.".jpg' alt='image for page ".$page_id."' style='max-width:".$previewwidth."px; max-height:".$previewheight."px; height:auto; width:auto;' />";

Offline

#6 12.04.2026 15:49:53

hpzaun
Member

Re: NWI beim fehlenden Bild automatisch ein vordefiniertes Bild anzeigen

Hallo,
Wenn ich bei allen NWI-Seiten (zwei NWI-Pages  Termine und Veranstaltungen) das gleiche Bild bei fehlendem Bild anzeigen möchte,
könnte ich auch das Bild unter ".WB_URL."/modules/news_img/images/nopic.png durch mein gewünschte Bild austauschen. oder?
Wäre es nur einmal oder bei beide NWI notwendig?
Schöne Grüße
Hans-Peter

Offline

#7 13.04.2026 16:36:37

webbird
Administrator

Re: NWI beim fehlenden Bild automatisch ein vordefiniertes Bild anzeigen

@hpzaun: Formulieren wir es andersrum: Wenn Du das nopic.png austauscht, gilt das für die gesamte WBCE Installation. Highlander-Prinzip.

Der Wunsch, pro Sektion ein Fallback-Bild optional einstellen zu können, wird für die nächste Version aufgenommen.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

Board footer

up