Seite 1 von 1

Bildmodul mit oder ohne Link

Verfasst: Mi 4. Mai 2005, 16:20
von Halchteranerin
Mit der Hilfe von Andreas Kummer habe ich das mitgelieferte Standard-Bildmodul korrigiert, und zwar so, dass nur dann ein Link eingebaut wird, wenn man auch einen angegeben hat (zur Erinnerung: beim mitgelieferten Modul ist das so, dass die Startseite verlinkt wird, falls kein Link angegeben wurde). Das Modul ist in diesem Thread versteckt:
http://www.contenido.org/forum/viewtopic.php?t=5113

Aber um es leichter zu finden, hier nochmal:
INPUT Leer

OUTPUT

Code: Alles auswählen

<?php
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     Bild(1)
* Beschreibung:     im Gegensatz zum Originalmodul wird das Bild 
*                           nur dann mit einem Link hinterlegt, wenn auch 
*                           tatsächlich ein Link angegeben wurde
* Version         :     1.2
* Author          :     irgendwer von 4fb ;-)
* Created        :     keine Ahnung, 4fb fragen
* Last Modified :     04-05-2005 by Christa Tabara mit Hilfe von 
*                           Andreas Kummer und emergence :-)
************************************************/ 

if ("CMS_IMG[1]" != "") {

    $img = '<img src="CMS_IMG[1]" border="0">';

    $imagelink = trim("CMS_LINK[1]");

    if ($imagelink != "http://" && $imagelink != "" && $imagelink != $cfgClient[$client]["path"]["htmlpath"])
      {
        $img = sprintf('<a href="%s" target="%s">%s</a>',"$imagelink", "CMS_LINKTARGET[1]", $img);
      }
    else {$img = '<img src="CMS_IMG[1]" border="0">';}

    echo $img;
}

if ($edit) {
echo "<br>";
echo "CMS_IMGDESCR[1]";
echo "<br>";
echo "CMS_LINKDESCR[1]";
echo "<br>";
}

?>
Ich hatte noch dazu geschrieben:
Ich glaube, man koennte eigentlich auf && !empty($imagelink) verzichten, denn mir scheint so, als waere die Variable niemals leer, aber ich hab's sicherheitshalber nicht gelassen.
was ich aber nicht klaeren konnte, weil sich niemand dazu geaeussert hat. Sollte sich jetzt jemand dazu aeussern, koennte ich ggf. den Code noch korrigieren. :-)

Gruss
Christa

Hier eine Version von i-fekt (veroeffentlicht hier: http://www.contenido.org/forum/viewtopi ... 0986#50986 ), wo man noch einen Alt-Tag angeben kann:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Bild(1)
* Beschreibung:     im Gegensatz zum Originalmodul wird das Bild
*                           nur dann mit einem Link hinterlegt, wenn auch
*                           tatsächlich ein Link angegeben wurde
* Version         :     1.2
* Author          :     irgendwer von 4fb ;-)
* Created        :     keine Ahnung, 4fb fragen
* Last Modified :     04-05-2005 by Christa Tabara mit Hilfe von
*                           Andreas Kummer und emergence :-)
************************************************/

if ("CMS_IMG[1]" != "") {

    $img = '<img src="CMS_IMG[1]" border="0">';

    $imagelink = trim("CMS_LINK[1]");

    if ($imagelink != "http://" && $imagelink != "" && $imagelink != $cfgClient[$client]["path"]["htmlpath"])
      {
        $img = sprintf('<a href="%s" target="%s">%s</a>',"$imagelink", "CMS_LINKTARGET[1]", $img);
      }
    else {$img = '<img src="CMS_IMG[1]" border="0" alt="CMS_TEXT[1]" title="CMS_TEXT[2]">';}

    echo $img;
}

if ($edit) {
echo "<br>";
echo "CMS_IMGDESCR[1]";
echo "<br>";
echo "CMS_LINKDESCR[1]";
echo "<br>";
echo "Alt: CMS_TEXT[1]";
echo "Title: CMS_TEXT[2]";
}

?>

Verfasst: Mi 4. Mai 2005, 16:41
von emergence
ähm... statt

Code: Alles auswählen

!empty($imagelink)
täte es folgendes auch...

Code: Alles auswählen

$imagelink != ""

Code: Alles auswählen

$imagelink = "CMS_LINK[1]";
könnte noch ein trim vertragen

Code: Alles auswählen

$imagelink = trim("CMS_LINK[1]");
naja ist geschmacksache...

Verfasst: Mi 4. Mai 2005, 16:49
von Halchteranerin
emergence hat geschrieben:naja ist geschmacksache...
Och, ich bin fuer Verbesserungsvorschlaege immer dankbar, so ist das nicht. :wink:

Meinst du so, wie ich das oben geaendert habe?

Verfasst: Mi 4. Mai 2005, 20:13
von emergence
yep

Verfasst: Mi 4. Mai 2005, 20:14
von Beleuchtfix
Danke, da kann ich etwas von meiner to do Liste streichen. Das wollte ich schon lange haben :lol:

Was hälst du von folgender "Verbesserung":

Code: Alles auswählen

/******************************************
* File      :   Bild(1)
* Project   :   Contenido
* Descr     :
*
* Author    :   unknown
* modified  :   Halchteranerin  Ausgabe des Links soll nur erfolgen wenn auch ein Link gespeichert ist.
*                Ohne Link wird nicht ausgegeben
*  http://www.contenido.org/forum/viewtopic.php?t=8203&start=0&postdays=0&postorder=asc&highlight=
*               
* Created  :   
* Modified  :    01.05.2005
* 
* Version   :   1.1
* ©  ? 
*****************************************/
Gruß
Florian

Verfasst: Mi 4. Mai 2005, 20:24
von emergence
ach ja

Code: Alles auswählen

echo "<br>"; 
echo "CMS_IMGDESCR[1]"; 
echo "<br>"; 
echo "CMS_LINKDESCR[1]"; 
echo "<br>";
könnte ein...

Code: Alles auswählen

if ($edit) {
echo "<br>"; 
echo "CMS_IMGDESCR[1]"; 
echo "<br>"; 
echo "CMS_LINKDESCR[1]"; 
echo "<br>";
}
vertragen...

Verfasst: Mi 4. Mai 2005, 20:29
von Halchteranerin
Beleuchtfix hat geschrieben:Danke, da kann ich etwas von meiner to do Liste streichen. Das wollte ich schon lange haben :lol:
Aehm, wie lange denn? Wie gesagt, es war schon im Forum gepostet, nur an anderer Stelle. :P

Verfasst: Mi 4. Mai 2005, 20:30
von Halchteranerin
Ich hoffe, ich habe nichts verschlimmbessert oben. emergence, bitte nochmal druebergucken. :-) Danke!

Verfasst: Mi 4. Mai 2005, 20:38
von Beleuchtfix
@Christa,
da habe ich doch wahrhaftig einen der 46493 Beiträge überlesen. :lol:

Verfasst: Do 5. Mai 2005, 11:18
von Dakota
Hallo,
emergence hat geschrieben:ach ja

Code: Alles auswählen

echo "<br>"; 
echo "CMS_IMGDESCR[1]"; 
echo "<br>"; 
echo "CMS_LINKDESCR[1]"; 
echo "<br>";
könnte ein...

Code: Alles auswählen

if ($edit) {
echo "<br>"; 
echo "CMS_IMGDESCR[1]"; 
echo "<br>"; 
echo "CMS_LINKDESCR[1]"; 
echo "<br>";
}
vertragen...
mit if ($edit) wird die Beschreibung nicht mehr angezeigt, also fallweise verwenden, ich nutze diesen zum Beispiel um auf den Link hinzuweisen!

$img = '<img src="CMS_IMG[1]" alt="Bild_1" border="0">';

erzeugt auch den "alt" Eintrag

Ansonsten, Danke für dieses Modul.

Manfred

Verfasst: Do 5. Mai 2005, 11:42
von Beleuchtfix
oder aber if $edit in

Code: Alles auswählen

if ($edit || "CMS_IMGDESCR[1]" != "" ) {
echo "<br>";
echo "CMS_IMGDESCR[1]";
echo "<br>";
echo "CMS_LINKDESCR[1]";
echo "<br>";
} 
Umwandeln.

Gruß
Florian