Die Moduleingabe ist ja nur im Backend. Mich würde nun interessieren ob es möglich ist die Moduleingabe eines Moduls auch ins Frontend (also auf der Seite) für die Besucher freizuschalten.
Damit diese z.b. Links eintragen können, oder Kordinaten, Einträge ins Gästebuch und so weiter und so fort.
Man versteht, die Moduleingabe auf die Seite bringen, ohne das der Gast dafür sich anmelden muss oder ins Backend verschickt wird.
Würde mich sehr interessieren, ob das mit Redaxo auch einfach gelöst werden kann oder ob man da schon selbst die Datenbank ansprechen muss.
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Module für Gäste (Frontend)
Gruss,
Sascha
Sascha
hallo Sascha,
will grad ein Blog-AddOn schreiben, wo sich mir ähnliche Fragen auftun.
Was genau willst Du denn erreichen? Da braucht's ja ein Eingabeformular und das ist auf alle Fälle schon mal ein Modul. Dann könntest Du Textile verwenden, setzt aber voraus, dass die user wissen, was sie eingeben müssen. Da könntest Du vielleicht eine Erklärung mit den wichtigsten Formatierungen irgendwo unterbringen.
Zu den Links: da wäre es auch möglich, das mit regulären Ausdrücken zu lösen. So dass der link nach dem Muster www.domain eingetragen werden muss. Dass geht auf jeden Fall für externe Links.
Mit den Koordinaten da verstehe ich nicht, was Du damit meinst.
will grad ein Blog-AddOn schreiben, wo sich mir ähnliche Fragen auftun.
Was genau willst Du denn erreichen? Da braucht's ja ein Eingabeformular und das ist auf alle Fälle schon mal ein Modul. Dann könntest Du Textile verwenden, setzt aber voraus, dass die user wissen, was sie eingeben müssen. Da könntest Du vielleicht eine Erklärung mit den wichtigsten Formatierungen irgendwo unterbringen.
Zu den Links: da wäre es auch möglich, das mit regulären Ausdrücken zu lösen. So dass der link nach dem Muster www.domain eingetragen werden muss. Dass geht auf jeden Fall für externe Links.
Mit den Koordinaten da verstehe ich nicht, was Du damit meinst.
- Peter.Bickel
- Beiträge: 1856
- Registriert: 25. Jan 2005, 21:17
- Wohnort: Schleswig-Holstein
- Kontaktdaten: Website
Meines Wissens funktionieren Module nicht im Frontend. Wäre m.E. auch nicht sinnvoll, denn das ist für Besucher nicht unbedingt sinnvoll zu bedienen.
Man müsste hier die klassischen Formulare bauen zum Schreiben in und Auslesen aus Datenbaken - für den Zweck, den man halt benötigt.
Evtl. kann das demnächst fertige Community-Addon für Euch interessant sein, womit man viele der üblichen Anforderungen erledigen kann:
http://forum.redaxo.de/ftopic7248.html
Viele Grüße,
Peter.
Man müsste hier die klassischen Formulare bauen zum Schreiben in und Auslesen aus Datenbaken - für den Zweck, den man halt benötigt.
Evtl. kann das demnächst fertige Community-Addon für Euch interessant sein, womit man viele der üblichen Anforderungen erledigen kann:
http://forum.redaxo.de/ftopic7248.html
Viele Grüße,
Peter.
- SquirrelFrank
- Beiträge: 186
- Registriert: 9. Sep 2006, 22:40
- Wohnort: Österreich / Wien
- Kontaktdaten: ICQ Website
ich habe vor längerer Zeit mal ein Modul gebaut, dass im Frontend gefüllt werden kann.
Ich poste hier mal den Code. Vlt. hillft es dir ja
Modul eingabe:
Modul ausgabe:
im Grunde kann somit jeder User einen Artikel erstellen, der standardmäßig deaktiviert ist, und dann durch den admin im backend online gestellt werden kann.
lg. Squirrel
Ich poste hier mal den Code. Vlt. hillft es dir ja
Modul eingabe:
Code: Alles auswählen
<br><strong>Einstellungen</strong><br>Text für Nachname:<br><input type=text size=30 name=VALUE[3] value="REX_VALUE[3]" class=inp100><br>
Text für Vorname:<br><input type=text size=30 name=VALUE[2] value="REX_VALUE[2]" class=inp100><br>
Text für Email:<br><input type=text size=30 name=VALUE[4] value="REX_VALUE[4]" class=inp100><br>
Text für Antragsname:<br><input type=text size=30 name=VALUE[5] value="REX_VALUE[5]" class=inp100><br>
Text für Antragstext:<br><input type=text size=30 name=VALUE[6] value="REX_VALUE[6]" class=inp100><br>
Text für Forderungen:<br><input type=text size=30 name=VALUE[7] value="REX_VALUE[7]" class=inp100><br><br>
Text bei erfolgter Eintragung<br>
<?php
$a = new rex_wysiwyg_editor();
$a->buttonrow1 = "styleselect,separator,bold,italic,separator,bullist,numlist,image";
$a->buttonrow2 = "link,linkHack,unlink,insertEmail,separator,removeformat,pasteRichtext,code";
$a->buttonrow3 = "tablecontrols, separator, visualaid";
$a->buttonrow4 = "rowseparator,formatselect,fontselect,fontsizeselect,forecolor,charmap";
$a->stylesheet = "/redaxo3_0/files/text.css";
$a->content = "REX_VALUE[1]";
$a->id = 1;
$a->show();
?>
Code: Alles auswählen
<?php
if (!$REX[REDAXO]):
/* EINSTELLUNGEN: */
$erfolgte_eintragung = "Dein Antrag ist bei uns eingegangen!";
$fehler_bei_eintragung = "Es ist ein Fehler aufgetreten. Bitte versuch es nochmal. Falls diese Fehlermeldung dann noch immer erscheint, schreibe uns bitte unter <a href=\"mailto:email@domain.at\">email@domain.at</a> ";
$hack_meldung = '<h3>Folgende Angaben sind falsch oder fehlen:</h3>';
/* EINSTELLUNGEN ENDE */
// Daten aus Form config konvertieren
function clean_text($value = "")
{
$value = htmlentities($value);
return $value;
}
$formular_vorname = "REX_VALUE[2]";
$formular_name = "REX_VALUE[3]";
$formular_email = "REX_VALUE[4]";
$formular_aname = "REX_VALUE[5]";
$formular_antrag = "REX_VALUE[6]";
$formular_aforderungen = "REX_VALUE[7]";
$erfolgte_eintragung = "REX_HTML_VALUE[1]";
$submit_titel = 'Absenden';
$submit_value = 'Absenden';
$formular_vorname = clean_text($formular_vorname);
$formular_name = clean_text($formular_name);
$formular_email = clean_text($formular_email);
function cleanup ($string) {
// falls magic quotes on
if (get_magic_quotes_gpc())
{
$string = stripslashes($string);
}
$string = addslashes($string);
$string = strip_tags($string);
// "--","#";";","`","/" Ausfiltern von SQL-Statements
$string = str_replace(array("--","- -","#",";","`","/","<",">","{","}","[","]"),array("","","","","","","","","","","",""),$string);
// - mit Leerzeichen dazwischen (SQL-Kommentare!)
$string = preg_replace('#-\s+-#i',"",$string);
return $string;
} // end function cleanup
function checkName ($string) {
// $name am Anfang Buchstabe; keine Zahlen und Nicht-Wortzeichen; dann
// beliebig viele Buchstaben, Bindestriche, Leerzeichen und Punkte
if (preg_match("/^[^\W\d_]([^\W\d_]|[\-\'\s\.\ä\ö\ü\Ä\Ö\Ü\ß])*$/", stripslashes($string)))
{
return true; // OK
}
else
{
return false; // falsche Eingabe
}
} // end function checkName
function checkEingabe ($string) {
// Schaut lediglich, ob eh was eingetragen ist
if ($string!="")
{
return true; // OK
}
else
{
return false; // falsche Eingabe
}
} // end function checkName
function checkEmail ($string) {
// $email mindestens a@a.aa
if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([_a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", stripslashes($string)))
{
return true; // OK
}
else
{
return false; // falsche Eingabe
}
} // end function checkEmail
// ============== Start Formularüberprüfung ==============
$hack = false; // Bool'sche Variable zeigt an, ob
// ein Hackingversuch vorliegt
// Auslesen und Säubern der Daten aus $_POST
if (sizeof($_POST) == 0)
{
$name = "";
$vorname = "";
$email = "";
$aname = "";
$antrag = "";
$aforderungen = "";
}
else
{
$name = $_POST["name"];
$vorname = $_POST["vorname"];
$email = $_POST["email"];
$aname = $_POST["aname"];
$antrag = $_POST["antrag"];
$aforderungen = $_POST["aforderungen"];
$submit = $_POST["submit"];
$name = cleanup($name);
$vorname = cleanup($vorname);
$email = cleanup($email);
$aname = cleanup($aname);
$antrag = cleanup($antrag);
$aforderungen = cleanup($aforderungen);
$submit = cleanup($submit);
// Verifizieren der Daten
if (checkName($name)!=1)
{
$hack = true; $feld = $formular_name;
}
if (checkName($vorname)!=1)
{
$hack = true; $feld = $formular_vorname;
}
if (checkEmail($email)!=1)
{
$hack = true; $feld = $formular_email;
}
if (checkEingabe($aname)!=1)
{
$hack = true; $feld = $formular_aname;
}
if (checkEingabe($antrag)!=1)
{
$hack = true; $feld = $formular_antrag;
}
if (checkEingabe($aforderungen)!=1)
{
$hack = true; $feld = $formular_aforderungen;
}
} // end else
$aktuellezeit = time(); //aktuelle Zeit
// ============== Ende Formularüberprüfung ==============
// beim ersten Aufruf oder unkorrekten Eingaben Formular ausgeben
if (($submit == "") OR (($submit == $submit_value) AND ($hack == true)))
{
// Bei inkorrekten Eingaben eine Fehlermeldung ausgeben:
if ($hack)
{
?>
<h4><?php echo $hack_meldung; ?></h4>
<ul>
<li><?php echo $feld; ?></li>
</ul>
<?php
} // end if ($hack)
else
{
if ($page_info != "")
{
echo "<p>" . $page_info . "</p>\n";
}
} // end else
?>
<div id="formwrap">
<div id="form">
<form id="sipantrag" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
<fieldset title="Sip Antrag einschicken">
<ul id="sipantrageinreichen">
<li>
<label for="vorname" title="Vorname"><?php echo $formular_vorname; ?></label>
<input class="text" type="text" id="vorname" name="vorname" size="38" title="<?php echo $formular_vorname; ?>" value="<?php echo stripslashes($vorname); ?>" />
</li>
<li>
<label for="name" title="Nachname"><?php echo $formular_name; ?></label>
<input class="text" type="text" id="name" name="name" size="38" title="<?php echo $formular_name; ?>" value="<?php echo stripslashes($name); ?>" />
</li>
<li>
<label for="email" title="Email adresse"><span lang="en"><?php echo $formular_email; ?></span></label>
<input class="text" type="text" id="email" name="email" size="38" title="<?php echo $formular_email; ?>" value="<?php echo stripslashes($email); ?>" />
</li>
<li class="mtop">
<label for="aname" title="Antragsname"><?php echo $formular_aname; ?></label>
<input class="text" type="text" id="aname" name="aname" size="38" title="<?php echo $formular_aname; ?>" value="<?php echo stripslashes($aname); ?>" />
</li>
<li>
<label for="antrag"><?php echo $formular_antrag; ?></label>
<textarea class="textarea" type="text" id="antrag" name="antrag" rows="15" cols="60" title="<?php echo $formular_antrag; ?>"></textarea>
</li>
<li>
<label for="aforderungen"><?php echo $formular_aforderungen; ?></label>
<textarea class="textarea" type="text" id="aforderungen" name="aforderungen" cols="60" rows="7" title="<?php echo $formular_aforderungen; ?>"></textarea>
</li>
<li>
<input type="submit" class="submit" name="submit" value="<?php echo $submit_value; ?>" title="<?php echo $submit_titel; ?>" tabindex="4" />
</li>
</ul>
</fieldset>
</form>
</div>
</div>
<?php
} // if (($submit == "") OR (($submit == $submit_value) AND ($hack == true)))
elseif (($submit == $submit_value) AND ($hack == false))
{
$sql = new sql;
$sql->setQuery("SELECT MAX(id) AS maxid FROM rex_article");
$newid = $sql->getValue('maxid') + 1;
$sql->setQuery("SELECT MAX(prior) AS maxprior FROM rex_article WHERE re_id='38'");
$maxprior = $sql->getValue("maxprior") + 1;
$sql->flush();
$sql->setTable("rex_article");
$sql->setValue("re_id", 51);
$sql->setValue("id", $newid);
$sql->setValue("name", $aname);
$sql->setValue("catname", $aname);
$sql->setValue("catprior", 0);
$sql->setValue("type_id", 1);
$sql->setValue("teaser", 0);
$sql->setValue("startpage", 0);
$sql->setValue("prior", $maxprior);
$sql->setValue("path", "|51|");
$sql->setValue("status", 0);
$sql->setValue("online_from", 1161420213);
$sql->setValue("online_to", 1262300400);
$sql->setValue("createdate", $aktuellezeit);
$sql->setValue("updatedate", $aktuellezeit);
$sql->setValue("template_id", 1);
$sql->setValue("clang", 0);
$sql->setValue("createuser", 'admin');
$sql->setValue("updateuser", 'admin');
$sql->insert();
$sql = new sql;
$sql->flush();
$sql->setTable("rex_article_slice");
$sql->setValue("article_id", $newid);
$sql->setValue("clang", 0);
$sql->setValue("ctype", 0);
$sql->setValue("re_article_slice_id", 0);
$sql->setValue("value1", $aname);
$sql->setValue("value2", $antrag);
$sql->setValue("value3", $aforderungen); //Überschrift, und so weiter. alles kommt da rein!!
$sql->setValue("link1", 0);
$sql->setValue("link2", 0);
$sql->setValue("link3", 0);
$sql->setValue("link4", 0);
$sql->setValue("link5", 0);
$sql->setValue("link6", 0);
$sql->setValue("link7", 0);
$sql->setValue("link8", 0);
$sql->setValue("link9", 0);
$sql->setValue("link10", 0);
$sql->setValue("modultyp_id", 19);
$sql->setValue("createdate", $aktuellezeit);
$sql->setValue("updatedate", $aktuellezeit);
$sql->setValue("createuser", "admin");
$sql->setValue("updateuser", "admin");
$sql->insert();
if($sql->error == ""){
$empfaenger = "anna.palienko@reflex.at";
$betreff = "LSV WIEN - Neuer SiP antrag";
$inhalt = "$vorname $name ($email) hat einen SiP Antrag mit dem Namen: $aname eingesendet!";
$header = 'From: LSV WIEN Homepage';
mail($empfaenger, $betreff, $inhalt, $header);
$hack = $erfolgte_eintragung;
$email = "";
}else{
$hack = $fehler_bei_eintragung;
}
echo $hack;
}
endif;
?>
lg. Squirrel
-
- Beiträge: 148
- Registriert: 1. Jul 2007, 13:27
- Wohnort: Hamburg / Berlin / Neubrandenburg
- Kontaktdaten: Website
Modul fertig
Hallo,
ich hab ein funktionierendes Modul. Damit ist es dem Seitenbesucher möglich Artikel zu erstellen. Ein sehr handliches web2.0 Modul. Bei Interesse mal melden.
ich hab ein funktionierendes Modul. Damit ist es dem Seitenbesucher möglich Artikel zu erstellen. Ein sehr handliches web2.0 Modul. Bei Interesse mal melden.
- Richard.Laing
- Beiträge: 2105
- Registriert: 28. Aug 2005, 00:55
- Wohnort: Brühl / Rheinland
- Kontaktdaten: Website