Text und Bild und Link - Modul

Gesperrt
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Text und Bild und Link - Modul

Beitrag von derSteffen »

Hallo liebe Gemeinde,

ich brauch mal bitte etwas hilfe. Ich habe mir das Modul "zusammengstümpert" dass es mir erlaubt ein Text, ein Bild und ein Link im Backend einzupflegen. Das funktioniert auch, aber da muss jetzt noch eine Abfrage rein, wenn kein Bild angegeben ist, dass auch folgendes nicht ausgegben werden soll

Code: Alles auswählen

<img src="%s" %s alt="%s" title="CMS_IMGTITLE[1]">', "CMS_IMG[1]", $img_dim[3], "CMS_IMGTITLE[1]");
dass sieht im Quelltext der Webseite dann nämlich so aus

Code: Alles auswählen

<img scr="" alt="" title""> 
und der Explorer zeigt mir dann diese doofe Bild-Nicht-Gefunden-Grafik an!

Das wäre nett wenn mir jemand helfen könnte!


Hier mein jetztiges Modul:

Code: Alles auswählen

<?php

$img_dim = @GetImageSize("CMS_IMG[1]");
$img = sprintf('<div class="bild"><img src="%s" %s alt="%s" title="CMS_IMGTITLE[1]">', "CMS_IMG[1]", $img_dim[3], "CMS_IMGTITLE[1]");

echo $img;
echo '<br />';
echo " <a href=\"CMS_LINK[1]\" CMS_LINKTITLE[1] >CMS_LINKDESCR[1]</a>";
echo '</div>';
echo "<p>"."CMS_HTML[1]"."";

echo '</p>';
?>
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

einfach eine if-prüfung um das ganze...

Code: Alles auswählen

if ("CMS_IMG[1]" != '') {
   dein ausgabecode
}
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen »

Vielen Dank für die Antwort, leider klappt das nicht :-( aber das liegt auch eindeutig an mir!

Das Problem ist, wenn ich
<?php
if ("CMS_IMG[1]" != '') {
$img_dim = @GetImageSize("CMS_IMG[1]");
$img = sprintf('<div class="bild"><img src="%s" %s alt="%s" title="CMS_IMGTITLE[1]">', "CMS_IMG[1]", $img_dim[3], "CMS_IMGTITLE[1]");

echo $img;
echo '<br />';
echo " <a href=\"CMS_LINK[1]\" CMS_LINKTITLE[1] >CMS_LINKDESCR[1]</a>";
echo '</div>';
echo "<p>"."CMS_HTML[1]"."";

echo '</p>';
}
else {
echo "<div class=\"bild\">";
echo $img;
echo '<br />';
echo " <a href=\"CMS_LINK[1]\" CMS_LINKTITLE[1] >CMS_LINKDESCR[1]</a>";
echo '</div>';
echo "<p>"."CMS_HTML[1]"."";
echo '</p>';
}

?>
wird in meinem div, wenn kein Bild ausgewählt ist "ARRAY" angezeigt. Ich kann aber in der "else {" nicht das "echo $img" rausnehmen, weil ja die Option im Backend bestehen muss das man sich ein Image auswählen kann.

Wie man schon merkt bin ich kein Programmierer!
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

du musst zuerst unterscheiden, ob du im edit-modus bist oder nicht. dafür steht dir die variable $edit zur verfügung. diese gibt true zurück, wenn du dich im edit-mode befindest.

in kombination mit der besagten if-prüfung hast du alles was du brauchst...

Code: Alles auswählen

if ("CMS_IMG[1]" != '' || $edit) {
    // hier ausgabe mit bild vornehmen
} else {
    // hier ausgabe ohne bild vornehmen
}
die if-prüfung prüft jetzt, ob entweder ein bild vorliegt oder du im edit-modus bist. in diesem fall soll ja das bild ausgegeben werden. bist du im edit-modus wird das bild immer ausgegeben, auch wenn noch keines ausgewählt ist. im anderen fall machst du eine ausgabe ohne bild. in diesen bereich kannst du nur im nicht-edit-modus gelangen (also in der ausgabe für die besucher).

all clear?

gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen »

Danke für deine Hilfe, aber momentan klappt da gar nichts mehr!

Also im Backend soll ja der image-Button immer zu sehen sein (weil man ja die Option zum Bild einfügen haben soll). Wenn kein Bild ausgewählt wird, erscheint der oben genannte Quelltext. Und das will ih vermeiden!

Aber zur Zeit wird komischer Weise der image-Button erst gar nicht mehr angezeigt! ;-(
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen »

Also ich raff das nicht!

Wenn ich nun unten stehenden Code eingebe, wird immer noch das Grafik-kann-nicht-geladen-werden-Icon aber wenn kein Bild da ist soll er doch auch nicht
<img scr="" alt="" title="">
anzeigen. zumal jetzt auch vor dem Bild, wenn eines vorhanden ist eine Zahl ausgegeben wird :-(

Kann mir vielleicht noch jemand helfen? Bitte!

Code: Alles auswählen

<?php

$img_dim = @GetImageSize("CMS_IMG[1]");
$img = sprintf('<img src="%s" %s alt="%s" title="CMS_IMGTITLE[1]">', "CMS_IMG[1]", $img_dim[3], "CMS_IMGTITLE[1]");

if ("CMS_IMG[1]" == '' || $edit) {
echo "<div class=\"bild\">";
echo "CMS_IMGEDIT[1]";
echo $img;
echo '<br />';
echo "<a href=\"CMS_LINK[1]\" CMS_LINKTITLE[1] >CMS_LINKDESCR[1]</a>";
echo '</div>';
echo "<p>"."CMS_HTML[1]"."";

echo '</p>';
}
else { 
if ("CMS_IMG[1]" != '' || $edit) {
echo "<div class=\"bild\">";
echo "CMS_IMGEDIT[1]";
echo $img;
echo '<br />';
echo "<a href=\"CMS_LINK[1]\" CMS_LINKTITLE[1] >CMS_LINKDESCR[1]</a>";
echo '</div>';
echo "<p>"."CMS_HTML[1]"."";

echo '</p>';
}  
else {  
echo "<div class=\"bild\">";
echo '<br />';
echo "<a href=\"CMS_LINK[1]\" CMS_LINKTITLE[1] >CMS_LINKDESCR[1]</a>";
echo '</div>';
echo "<p>"."CMS_HTML[1]"."";

echo '</p>';
}
}
?> 
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

du musst ja nur zwei fälle unterscheiden (vgl. code von mir). das ist alles. du hast jetzt drei bereich mit zwei if-prüfungen.

vereinfache das ganze mal. du musst nur dort, wo ich die kommentare eingegeben habe, deinen ausgabe-code eingeben. das ist alles.

Code: Alles auswählen

$img_dim = @GetImageSize("CMS_IMG[1]");
$img = sprintf('<img src="%s" %s alt="%s" title="CMS_IMGTITLE[1]">', "CMS_IMG[1]", $img_dim[3], "CMS_IMGTITLE[1]");

if ("CMS_IMG[1]" != '' || $edit) {
    echo "<div class=\"bild\">";
    echo "CMS_IMGEDIT[1]";
    echo $img;
    echo '<br />';
    echo "<a href=\"CMS_LINK[1]\" CMS_LINKTITLE[1] >CMS_LINKDESCR[1]</a>";
    echo '</div>';
    echo "<p>"."CMS_HTML[1]"."</p>";
} else {
    echo '<div>kein bild vorhanden</div>';
} 
gibt mal diesen code in das modul ein. nach meiner meinung sollte das funktionieren.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen »

Mhm - nein das ist es auch nicht! Wahrscheinlich sollte ich die drei Sachen auch in jeweils drei Module packen! Danke dir aber!
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

was heist hier drei sachen? ich komme irgendwie nicht mehr mit. du willst ja einfach ein bild anzeigen, wenn eines vorhanden ist und keines, wenn halt keines vorhanden ist. das ist alles. dazu brauchst du defintiv kein weiteres modul.

du musst nur zwei fälle unterscheiden:

fall A: es ist ein bild vorhanden oder wir befinden uns im editiermodus. also in jedem fall (edit-modus und frontend) bild-ausgabe machen.

fall B: es ist kein bild vorhanden und wir befinden uns auch nicht im editiermodus. in der folge ist auch kein bild auszugeben.

that's it. oder ist da noch was, was ich bis jetzt nicht mitgekriegt habe?
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen »

Hi

nein ich muss doch nicht diese beiden Fälle unterscheiden!!!

Im Edit-Mode soll immer der Image-Button ausgegeben werden! Immer! Auch wenn ein Bild vorhanden ist um es mal auszutauschen!

Ich möchte nur, wenn kein Bild durch den Image-Button ausgewählt wurde, soll auch nicht auf der Webseite im Quelltext stehen

Code: Alles auswählen

<img scr="" alt="" title="">
aber das Problem zur Zeit ist, dass der Image_Button eine Zahl auf der Webseite ausgibt :-(

Übrigens mit den
drei Sachen
meinte ich Link, Text und Bild, dass ich jetzt jedes einzeln mache!

Na ich werde mal das Wochenende weiter basteln! Das mich das hier do aufhält macht mich wahnsinnig ;-)


NACHTRAG:
So für das Bild habe ich es jetzt geschafft:

Code: Alles auswählen

<?php
$img_dim = @GetImageSize("CMS_IMG[3]");
$img = sprintf('<img src="%s" %s alt="%s" title="CMS_IMGTITLE[3]">', "CMS_IMG[3]", $img_dim[3], "CMS_IMGTITLE[3]");
$img2 = ('');

if ("CMS_IMGDESCR[3]" != '') {
   echo $img;
echo "<br>";
echo "CMS_IMGDESCR[3]";
}
else {
echo $img2;
echo "CMS_IMGDESCR[3]";
}
?>
Die anderen beiden Sachen werde ich in anderen Modulen einfügen!

Danke Dir!

NACHTRAG 2:

Hier ist das für meinen Link

Code: Alles auswählen

<?php
$link = ('<a href="CMS_LINK[1]"  title="CMS_LINKTITLE[1]">CMS_LINKDESCR[1]</a>');
$link2 = ('');

if ("CMS_LINKDESCR[1]" != '') {
echo $link;
echo "CMS_LINKEDIT[1]";
}
else {
echo $link2;
echo "CMS_LINKEDIT[1]";
}
?>
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen »

So und hier ist das Bild und der Link in einem Modul (in einem Div)

Code: Alles auswählen

<?php
$img_dim = @GetImageSize("CMS_IMG[3]");
$img = sprintf('<img src="%s" %s alt="%s" title="CMS_IMGTITLE[3]">', "CMS_IMG[3]", $img_dim[3], "CMS_IMGTITLE[3]");
$img2 = ('');
$link = ('<a href="CMS_LINK[1]"  title="CMS_LINKTITLE[1]">CMS_LINKDESCR[1]</a>');
$link2 = ('');

if (("CMS_IMGDESCR[3]" != '') AND ("CMS_LINKDESCR[1]" != '')) {
echo "<div id=\"more\">";
echo $img;
echo "<br>";
echo "CMS_IMGDESCR[3]";
echo "<br>";
echo "<br>";
echo $link;
echo "CMS_LINKEDIT[1]";
echo "</div>";
}
else {
if (("CMS_IMGDESCR[3]" == '') AND ("CMS_LINKDESCR[1]" != '')) {
echo "<div id=\"more\">";
echo $img2;
echo "CMS_IMGDESCR[3]";
echo $link;
echo "CMS_LINKEDIT[1]";
echo "</div>";
}
else {
if (("CMS_IMGDESCR[3]" != '') AND ("CMS_LINKDESCR[1]" == '')) {
echo "<div id=\"more\">";
echo $img;
echo "<br>";
echo "CMS_IMGDESCR[3]";
echo $link2;
echo "CMS_LINKEDIT[1]";
echo "</div>";
}
else {
echo $img2;
echo "CMS_IMGDESCR[3]";
echo $link2;
echo "CMS_LINKEDIT[1]";
}
}
}
?>
Gesperrt