Seite 1 von 1

Bildmodul Bild(x) mit Nummerneingabe im Konfig-Bereich

Verfasst: Do 7. Jul 2005, 17:48
von Oldperl
Für einen Webauftritt mit mehreren verschieden Bildern habe ich mir das Standard Bildmodul abgewandelt, so das ich nun nicht mehr dieses mehrmals kopieren muß und dann die Variablen anpassen, sondern nur noch mit dem einen Modul Bild (x) arbeiten kann.

Die Bildnummer wird nun im Konfigurationsbereich übergeben.

Aber langer Rede kurzer Sinn, schaut es euch einfach mal an.
Ich freue mich schon auf Anregungen und Kritik. :twisted:

Hier der Code:

Beschreibung:

Code: Alles auswählen

Bildmodul mit Variablen

Author:Ortwin Pinke <webmaster@oldperl.de> 
Version:1.0
Stand: 07.07.2005

Die Bildnummer kann im Konfigurationsmenü in einer Box eingegeben werden.
Wird die gleiche Bildnummer bei 2 Boxen eingegeben, so erscheint das gleiche Bild und auch Änderungen beziehen sich auf das gleiche Bild.
Die Anzahl sollte nur von Contenido begrenzt sein, habe ich aber noch nicht probiert.
Bitte Anregungen und Kritik an webmaster@oldperl.de oder im Contenido- Forum http://contenido.org/forum/
Der Eingabebereich:

Code: Alles auswählen

/**
* Bildmodul mit freier Angabe des Bildes
*
*
* INPUT
*
* Author Ortwin Pinke
*/

// selected pic
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Bildnummer angeben:</td>
          <td>";
            
            if($selected!="0" && $selected!=""){
             echo"<input name=\"CMS_VAR[0]\" value=\"CMS_VALUE[0]\">";

            }else{
            echo"<input name=\"CMS_VAR[0]\">";
            }

echo "</td>
        </tr>

      </table>";
Der Ausgabebereich:

Code: Alles auswählen

<?php
/**
* Bildmodul mit freier Angabe des Bildes
*
*
* INPUT
*
* Author Ortwin Pinke
*/


if ("CMS_IMG[CMS_VALUE[0]]" != "") {

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

    if ("CMS_LINK[CMS_VALUE[0]]" != "http://") {
        $img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[CMS_VALUE[0]]", "CMS_LINKTARGET[CMS_VALUE[0]]", $img);

    }

    echo $img;

}
// @nur sichtbar im editor **thx to timo, HerrB**
if ($edit){
echo "<br>";
echo "CMS_IMGDESCR[CMS_VALUE[0]]";
echo "<br>";
echo "CMS_LINKDESCR[CMS_VALUE[0]]";
echo "<br>";
}

?>
Im Konfigurationsbereich des Layout, Templates oder Artikels erscheint nach dem Einbinden des Moduls diese Box

Bild

Hier gibt man dann seine Bildnummer an.

Áuch habe ich die br-tags am Ende des Ausgabecodes zwischen den Buttons CMS_IMGDESCR und CMS_LINKDESCR entfernt, da sie mir im Frontend mein Tabellenlayout veränderten.

Falls jemand dahingehend eine Lösung kennt, wie ich in der Ausgabe zwischen Editor und Frontend unterscheiden kann, könnte man eine Abfrage einbauen, so das die Buttons nur im Editor erscheinen, selbstverständlich mit br-tag.

ad Editorabfrage eingebaut, thx timo und HerrB 8)
thx emergence für den Tipp http://contenido.org/forum/viewtopic.php?t=8839

Gruß aus Franken

Ortwin

Verfasst: Do 7. Jul 2005, 18:06
von timo
if ($edit)
{
/* Zeige Editierbuttons */
}

Verfasst: Do 7. Jul 2005, 18:06
von HerrB
Falls jemand dahingehend eine Lösung kennt, wie ich in der Ausgabe zwischen Editor und Frontend unterscheiden kann, könnte man eine Abfrage einbauen, so das die Buttons nur im Editor erscheinen, selbstverständlich mit br-tag.
Sicher. Siehe http://contenido.org/forum/viewtopic.php?p=50986#50986

Gruß
HerrB

Verfasst: Do 7. Jul 2005, 18:15
von i-fekt
Finde das viel zu unpraktisch. Das könnte man keinem Redakteuer zumuten.

Verfasst: Do 7. Jul 2005, 18:18
von Oldperl
Danke, danke :)

werd ich gleich einbauen und testen und dann die files updaten und hochladen

Verfasst: Do 7. Jul 2005, 18:22
von Oldperl
i-fekt hat geschrieben:Finde das viel zu unpraktisch. Das könnte man keinem Redakteuer zumuten.
hmmm, wieso? Wie würdest du dir denn eine Lösung vorstellen?

Verfasst: Do 7. Jul 2005, 20:43
von i-fekt
Ich verstehe den Sinn dieses Moduls absolut gar nicht.

Um x Mal das selbe Modul zu verwenden, benutze ich conFlakes.

Verfasst: Fr 8. Jul 2005, 05:51
von Oldperl
i-fekt hat geschrieben:Ich verstehe den Sinn dieses Moduls absolut gar nicht.
Nun, im Endeffekt sollte es nur für mich eine Erweiterung des Standardbildmoduls und ein Einstieg in die Modulprogrammierung sein. Wer darin einen Sinn für sich sieht kann es gerne verwenden, jedem anderen ist doch eh freigestellt mit was er arbeitet.
i-fekt hat geschrieben:Um x Mal das selbe Modul zu verwenden, benutze ich conFlakes.
Wie gesagt, jeder wie er mag und wie er kann. :)

So, und jetzt trotzdem nochmal für die, die sich auch gerne ans Modul programmieren machen wollen und jeden Tag in PHP was lernen. Abgucken ist ausdrücklich erlaubt, und mir persönlich hat es immer geholfen zuerst Quelltexte durchzugehen und zu verstehen was, wann, wo und warum es gemacht wird und was passiert.

Verfasst: Fr 8. Jul 2005, 07:59
von Oldperl
Und es geht nicht so :oops:

Wenn ich das Modul einsetze und noch keine Bildnummer angegeben habe, hängt die Seite beim Aufrufen, da ein Bild CMS_IMG[$Cx] gesucht wird.
Hmm, da wird wohl beim parsen durch Contenido die Variable CMS_VALUE[x] schon irgendwie belegt.

Nun gut, ich hab mir dafür nochmal eine Abfrage eingebaut ob CMS_VALUE[x] mit einem Zahlwert belegt ist und dieser nicht 0 ist.

Schaust du :shock:

Code: Alles auswählen

if ("CMS_IMG[CMS_VALUE[0]]" != "" and intval("CMS_VALUE[0]") != 0) {
Dies ist die geänderte 1. Zeile im Ausgabeteil des Moduls. So funzt es dann.
Werd die Downloaddateien im 1. Post immer auf den neuesten Stand bringen.

to be continued ....

Ortwin