Liebe Forengemeinde,
ich würde mich ja auch gern beteiligen und Module zur Verfügung stellen.
Da ich es aber immer noch nicht begreife, wie das mit dem Input funktioniert, habe ich bisher meine Module "hartcodiert" was die Fonts angeht.
Das kann man aber schlecht machen, wenn man diese anderen zur Verfügung stellen will.
Der Input soll auch nur zwei, drei Felder mit der üblichen Fontauswahl haben.
Wie nun ?
Gruß
Jens
Modul Input-Output
am einfachsten nimmst du dir den Input z.b. aus dem Textmodul.
hier mal erklärt:
erstmal die Tabelle aufgebaut
die 2 Spalten...
$mod["font"] enthält das Wort "Schriftart" - war für multi-language-Support gedacht - aber naja...
in der 2. Zelle ist die Select-Auswahl. CMS_VAR[0] ist der Name dieser Select-auswahl - später kann man darauf mit CMS_VALUE[0] zurückgreifen.
Hier der Schriftzug "keine" ($lngForm["nothing"]) - wiedermal multilanguage.
die If-Abfrage ist so gedacht... wurde noch kein font gewählt (CMS_VALUE[0] = 0) dann wird die auswahl selected. Also markiert. Ansonsten nicht.
hier eine For-Schleife, die 50 Zahlen generiert. der Wert ist nur 1-50 . Die If-Abfrage hier soll den Font selecten, der vorher mal ausgewählt wurde wenn man später das Template noch einmal konfiguriert.
der Hidden-Wert der hier definiert wird, ist die Container-Nummer. $value enthält immer die Nummer des aktuellen Containers. Schön wenn man die Nummer übergibt, weil man dann im Output dafür sorgen kann, dass man das Modul mehrfach einsetzen kann.
das ist jetzt eine Font-Auswahl gewesen. Wählst du z.b. Font 11 aus, dann enthält im Output die Variable CMS_VALUE[0] den Wert "11".
du setzt es also im Output dann so ein:
echo "<span id=\"fontCMS_VALUE[0]\">";
als Ergebnis kommt dann
<span id="font11">
Für deine konkrete Frage nach 3 Schriftauswahlen:
Jetzt hast du in:
CMS_VALUE[0] die aktuelle Containernummer
CMS_VALUE[1] Schriftart 1
CMS_VALUE[2] Schriftart 2
CMS_VALUE[3] Schriftart 3
Hilft dir das weiter??
achso.... du kannst natürlich auch alles andere einsetzen. Denke beim Input daran, dass du den eingestellten Wert wieder übernimmst, damit das auch noch so eingestellt ist, wenn du nochmal das Template konfigurierst.
Bespiel:
<input type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\">
wenn du den Value nicht wieder übergibst, tritt folgender Effekt auf.
Du konfigurierst das Template und schreibst was in dieses Input-feld.
Das wird auch korrekt übernommen in den Output.
wenn du aber jetzt nochmal das Template konfigurierst, ist das Input-Feld wieder leer - und das ist ja nicht erwünscht. Deswegen immer den Value übergeben.
hier mal erklärt:
Code: Alles auswählen
echo "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">
<tr valign=\"top\">
Code: Alles auswählen
<td width=\"202\">".$mod["font"].":</td>
<td><select name=\"CMS_VAR[0]\" size=\"1\">";
$mod["font"] enthält das Wort "Schriftart" - war für multi-language-Support gedacht - aber naja...

in der 2. Zelle ist die Select-Auswahl. CMS_VAR[0] ist der Name dieser Select-auswahl - später kann man darauf mit CMS_VALUE[0] zurückgreifen.
Code: Alles auswählen
if ("CMS_VALUE[0]" != 0) {
echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
die If-Abfrage ist so gedacht... wurde noch kein font gewählt (CMS_VALUE[0] = 0) dann wird die auswahl selected. Also markiert. Ansonsten nicht.
Code: Alles auswählen
for ($i=1; $i<=50; $i++) {
if ($i != "CMS_VALUE[0]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
Code: Alles auswählen
echo "</SELECT></td>
</tr></table>
<input type=\"hidden\" name=\"CMS_VAR[1]\" value=\"".$value."\">";
das ist jetzt eine Font-Auswahl gewesen. Wählst du z.b. Font 11 aus, dann enthält im Output die Variable CMS_VALUE[0] den Wert "11".
du setzt es also im Output dann so ein:
echo "<span id=\"fontCMS_VALUE[0]\">";
als Ergebnis kommt dann
<span id="font11">
Für deine konkrete Frage nach 3 Schriftauswahlen:
Code: Alles auswählen
echo "<input type=\"hidden\" name=\"CMS_VAR[0]\" value=\"".$value."\">";
echo "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr valign=\"top\"><td width=\"202\">Schriftart 1:</td>";
echo "<td><select name=\"CMS_VAR[1]\" size=\"1\">";
if ("CMS_VALUE[1]" != 0) {
echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
for ($i=1; $i<=50; $i++) {
if ($i != "CMS_VALUE[1]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td></tr>";
echo "<tr valign=\"top\"><td width=\"202\">Schriftart 2:</td>";
echo "<td><select name=\"CMS_VAR[2]\" size=\"1\">";
if ("CMS_VALUE[2]" != 0) {
echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
for ($i=1; $i<=50; $i++) {
if ($i != "CMS_VALUE[2]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td></tr>";
echo "<tr valign=\"top\"><td width=\"202\">Schriftart 3:</td>";
echo "<td><select name=\"CMS_VAR[3]\" size=\"1\">";
if ("CMS_VALUE[3]" != 0) {
echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
for ($i=1; $i<=50; $i++) {
if ($i != "CMS_VALUE[3]") {
echo "<option value=\"$i\">Font $i</option>";
} else {
echo "<option value=\"$i\" selected>Font $i</option>";
}
}
echo "</SELECT></td></tr></table>";
CMS_VALUE[0] die aktuelle Containernummer
CMS_VALUE[1] Schriftart 1
CMS_VALUE[2] Schriftart 2
CMS_VALUE[3] Schriftart 3
Hilft dir das weiter??
achso.... du kannst natürlich auch alles andere einsetzen. Denke beim Input daran, dass du den eingestellten Wert wieder übernimmst, damit das auch noch so eingestellt ist, wenn du nochmal das Template konfigurierst.
Bespiel:
<input type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\">
wenn du den Value nicht wieder übergibst, tritt folgender Effekt auf.
Du konfigurierst das Template und schreibst was in dieses Input-feld.
Das wird auch korrekt übernommen in den Output.
wenn du aber jetzt nochmal das Template konfigurierst, ist das Input-Feld wieder leer - und das ist ja nicht erwünscht. Deswegen immer den Value übergeben.
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net
Der-Dirigent: http://der-dirigent.de
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net
Der-Dirigent: http://der-dirigent.de
Danke
Das war richtig gut erklärt und hat mir prompt weitergeholfen.
Jetzt könnte ich theoretisch mein Bildergaleriemodul weitergeben.
D.h. eigentlich ist es gar kein reines Modul, sondern basiert mehr auf hochgeladene Bilder,Thumbs und Textdateien.
Ich hab das mal früher mir so gebastelt, da meine Mitglieder immer neue Bildergalerien sehen wollten. Ist also noch einiges immer händisch zu machen dabei:
- Bilder bearbeiten (großes Bild, kleines Bild)
- 1. Txt-Datei editieren (Name Thumb-Datei, Name GrossesBild, Bildbeschreibung)
- 2. Txt-Datei editieren (Bezeichnung der Galerie, Ordnername)
- alles per FTP hochladen
Also wer an so einem komplizierten Teil Interesse hat, kann sich ja mal melden.
Sicherlich kann man das noch umstricken, aber ich bin kein Freund von "Bilder einzeln per Browser hochladen" und kann so natürlich auch nicht auf DB-Inhalte(Dateinamen, Pfade etc.) zurückgreifen.
Hier ein Link (Ist aber noch nicht fertig, die Seite):
http://www.ssc.strausbergnet.de/conteni ... 15&idside=
Gruß
Jens
Jetzt könnte ich theoretisch mein Bildergaleriemodul weitergeben.
D.h. eigentlich ist es gar kein reines Modul, sondern basiert mehr auf hochgeladene Bilder,Thumbs und Textdateien.
Ich hab das mal früher mir so gebastelt, da meine Mitglieder immer neue Bildergalerien sehen wollten. Ist also noch einiges immer händisch zu machen dabei:
- Bilder bearbeiten (großes Bild, kleines Bild)
- 1. Txt-Datei editieren (Name Thumb-Datei, Name GrossesBild, Bildbeschreibung)
- 2. Txt-Datei editieren (Bezeichnung der Galerie, Ordnername)
- alles per FTP hochladen
Also wer an so einem komplizierten Teil Interesse hat, kann sich ja mal melden.
Sicherlich kann man das noch umstricken, aber ich bin kein Freund von "Bilder einzeln per Browser hochladen" und kann so natürlich auch nicht auf DB-Inhalte(Dateinamen, Pfade etc.) zurückgreifen.
Hier ein Link (Ist aber noch nicht fertig, die Seite):
http://www.ssc.strausbergnet.de/conteni ... 15&idside=
Gruß
Jens