Hallo,
ich habe aus dem Buch "Praxiswissen Typo3" von Robert Meyer den Abschnitt Eigende Extesions schreiben durchgeackert. Darin wird erklärt wie man ein eigenes Frontend Plugin schreibt.
Jetzt würde ich gerne nach diesem Beispiel eine eigene kleine Extension schreiben. Und zwar möchte ich ein kleines Buchungssystem schreiben.
Eingabe von Überschrift, Beschreibung, Preis. Soweit kein Problem.
Allerdings würde ich auch noch gerne einen Buchungs bzw. Bestellbutton unterbringen der mich dann zu einem Bestellformular leitet. Das Formular soll nur die normalen Benutzerdaten wie Name, Anschrift ect. beinhalten. Und natürlich die Daten von dem Produkt mit übergeben. Nach Absenden möchte ich dann lediglich die Bestelldaten per email erhalten. Was für mich jetzt eine Hürde darstellt ist das Formular. Wie kann ich das mit in die extension integrieren?
Hat da vielleicht jemand mit Erfahrung und kann mir kurz erklären wie man das mit dem Kickstarter macht. Vielleicht kennt auch jemand ein Tutorial wie man so was umsetzen könnte.
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Hi,
bau dir einfach ein mailformplus-Formular für das FE-Formular. Mailformplus bietet dir auf einfache Weise die Möglichkeit, Eingaben in der DB zu speichern (steht im Manual). Du speicherst die Eingaben also dann einfach in der Tabelle der Extension, die du vorher wie im Buch oder in Steffens Tut beschrieben, angelegt hast.
//Stefan
Danke für den Link und den Tip. Dann werde ich das auch mal durcharbeiten.![]()
Wieso ist das Tut eigentlich im Traum-Dynamic Forum?
Würder das nicht im Typo3 Forum besser passen?
weil wir ein eigenes Forum für Workshops und Tutorials haben![]()
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Ich habe das tutorial durch. Allerdings raff ich nicht wie ich jetzt das mailformplus Formular einbinden muss.
Ich habe im Template folgende Marker gesetzt:
mailformplus habe ich meinen bedürfnissen angepasst und das plugin auf eine Seite (Nicht im Menü) integriert. Wie bekomme ich denn jetzt den Marker "###FORMULAR###" in der php Datei der Extension angesprochen?PHP-Code:<!-- ###LISTVIEW### -->
<h2>Listenansicht</h2>
<ul>
<!-- ###ROW### -->
<li>###KURSNAME###</li>
<!-- ###ROW### -->
</ul>
<!-- ###LISTVIEW### -->
<!-- ###DETAILVIEW### -->
<h2>Detailansicht</h2>
<h3>###KURSNAME###</h3>
<p>###BESCHREIBUNG###</p>
<div>Preis: ###PREIS###</div>
<p>Zur Demo: ###DEMO###</p>
<h3>Diesen Kurs Buchen</h3>
<p><strong><u><i>###KURSNAME###</strong></u></i></p>
<p>###FORMULAR###</p>
<p>###BACKLINK###</p>
<!-- ###DETAILVIEW### -->
PHP-Code:function detailView() {
#unser Subpart
$subpart=$this->cObj->getSubpart($this->template,'###DETAILVIEW###');
#Datensatz holen
$record=$this->pi_getRecord('tx_drkursbooking_main',$this->piVars['item']);
#Marker füllen
$markerArray['###KURSNAME###']=$record['kursname'];
$markerArray['###BESCHREIBUNG###']=$this->pi_RTEcssText($record['beschreibung']);
$markerArray['###PREIS###']=$record['preis'];
$markerArray['###DEMO###']=$this->cObj->typolink($record['demo'],array(
'parameter' => $record['demo'],
'extTarget' => '_blank',
));
#backlink als einfachen Link ohne Parameter
$markerArray['###BACKLINK###']=$this->pi_linkToPage($this->pi_getLL('back'),$this->id);
return $this->cObj->substituteMarkerArrayCached($subpart,$markerArray,array(),array());
}
}
Dir ist schon klar das Du was nicht triviales probierst ;-)
Du willst ja in einen Marker eine Extension einsetzen.
Das geht nur über TS
lib.formular = COA
und dann
PHP-Code:$markerArray['###FORMULAR###'] = $this->cObj->cObjGetSingle('COA','lib.formular');
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Dir ist schon klar das Du was nicht triviales probierst ;-)
Du willst ja in einen Marker eine Extension einsetzen.
Aha, da war ich wohl auf dem Holzweg.
lib.formular = COA kommt das ins root TS?
Ausserdem muss ich noch den Kurstitel aus der eigenen extension mit an das Formular übergeben.
Hmmm... dachte nicht das dass so kompliziert ist eine Extension wie mailformplus in eine eigene Extension zu integrieren.
zeig mir eine Extension, die eine andere integriert (ausser z.B. tt_address-Datensätze für DB-Operationen)
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Also sollte man das Formular direkt in der class.tx_meineExtension_pi1.php definieren?
ja, wäre sinnvoll und wesentlich einfacher![]()
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
So ich habe es jetzt mit dem Formular hinbekommen.
Ich habe aber noch eine Frage zu der List Ansicht.
Ich würde gerne zu dem Link (bei mir Kursname) noch die Beschreibung in der
Listansicht hinzugfügen. Allerdings ohne verlinkung.
Quasi unter:PHP-Code:if($res) {
$liste='';
while($row=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$markerArray['###KURSNAME###']=$this->pi_linkTP($row['kursname'],array($this->prefixId.'[item]'=> $row['uid']));
$liste .= $this->cObj->substituteMarkerArrayCached($singlerow,$markerArray);
}
$markerArray['###KURSNAME###']=$this->pi_linkTP($row['kursname'],array($this->prefixId.'[item]'=> $row['uid']));
$markerArray['###BESCHREIBUNG###']=$this->pi_linkTP($row['beschreibung'],array($this->prefixId.'[item]'=> $row['uid']));
Jetzt müsste ja pi_linkTP ersetzt werden damit ich die Beschreibung nicht als Link angezeigt bekomme oder?
EDIT: Habe jetzt cObj->substituteMarkerArrayCached eingesetzt und funktioniert.
Geändert von Borusse (29.04.2008 um 10:42 Uhr)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)