Zum Inhalt springen

Seiteninhalt (Extension) ohne Modul: Liste

Erstellt am 20. April 2009 · 10 Antworten · letzte Antwort am 25. Juni 2009

Tags: FlexForms, Inhaltselemente, Frage

Skyhead ·

Hallo Leute, ich bin neu in der Extension programmierung.

Ich hab schon das ein oder andere ausprobiert, aber mir ist dabei bis jetzt immer aufgefallen, das man für ein frontend plugin immer erst einen neuen Datensatz im Modul Liste anlegen muss.

Jetzt meine Frage:
Wie bekomme ich es hin, das ich eine Extension einbinde, über Seite -> Seiteninhalt. Dieser Seiteninhalt soll mit ganz bestimmten Werten gefüllt werden. So eine Art Formular (damit der Nutzer nicht irgendwas da einträgt). Dies soll jedoch alles über das Modul Seite geschehen und nicht über das Modul Liste.

Ist das irgendwie machbar?

Mfg Oliver

Skyhead ·

so, ich habe jetzt eine Flexform in meine Extension eingebunden. Funktioniert soweit auch ganz gut, zumindest seh ich das resultat im Backend!

Jetzt meine Frage: Wo wird der Inhalt der Daten in den Flexforms gespeichert? Da ich ja diese Extension auf mehreren Seiten einbinde und auf allen Seiten anderer Inhalt stehen soll.

Nächste Frage: Wie bekomm ich das ganze jetzt im Frontend ausgegeben?

Mfg Skyhead

Skyhead ·

auf der Seite war ich schon, aber so konkret weiß ich leider trotzdem noch nicht was ich jetzt machen muss.

Skyhead ·

so gut, das mit den Daten ausgeben hab ich jetzt hinbekommen. Nur sieht das ganze noch etwas unschön aus.

habe in meiner class.tx...pi1.php jetzt folgendes in der function main stehen:

$flexformWerte = $this->pi_initPIflexForm();

$cObjData = $this->cObj->data['pi_flexform'];
$vorname = $this->pi_getFFvalue($cObjData, 'vorname', 'sDEF');

kann mir vielleicht jemand erklären, wie ich das ganze jetzt in ein template bekomme?

Mfg Skyhead

Skyhead ·

So, das mit dem Template hat sich erledigt. War ja eigentlich ganz einfach!

Jetzt ist fast alles fertig. Meine Frage ist nur, wie bekomme ich jetzt Felder, die Backend nicht ausgefüllt wurden im Frontend versteckt?

<div class="box">
<strong>###VORNAME### ###NACHNAME###</strong><br>
###ORGANISATION###<br>
###STRASSE### ###HAUSNUMMER###<br>
###POSTLEITZAHL### ###ORT###<br>
###TELEFON###<br>     #<-- wenn z.B. keine Telefonnummer angegeben wurde, dann sehe ich auf jedenfall immer den absatz wegen dem Zeilenumbruch, bekomm ich das irgendwie schöner?
###FAX###<br>
###EMAIL###<br>
</div>

MFG Skyhead

Skyhead ·

Ein weiteres Problem Tritt auf!

Ich habe diese Extension exportiert über Update/Backup und dann versucht auf anderen Seiten zu installieren.

Das hat auch soweit geklappt, doch irgendwie findet er den Pfad zum Template nicht. Wenn ich einfach nur die Variablen ausgebe, seh ich alles im Frontend. doch mit Template geht es nicht.

# Get the template
$this->templateCode = $this->cObj->fileResource($conf["templateFile"]);

# Get the parts out of the template
$template = array();
$template["total"] = $this->cObj->getSubpart($this->templateCode,"###MYTEMPLATE###");

und das dann findet man in der Datei pi1/static/setup.txt

plugin.tx_oskontakt_pi1.templateFile = EXT:os_kontakt/pi1/template.html
plugin.tx_oskontakt_pi1 {
   _CSS_DEFAULT_STYLE (
     .box	{
			font-family: Arial, Helvetica, sans-serif;
			font-size: 11,2 px;
			font-weight: 401;
			line-height: 14px;
			text-align: left;
			color: #87888A;
		}
   )
}

und das Template sieht so aus:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
</head>

<body>


<h3>MYTEMPLATE</h3>
<!-- ###MYTEMPLATE### begin -->
<div class="box">
<strong>###VORNAME### ###NACHNAME###</strong><br>
###ORGANISATION###<br>
###STRASSE### ###HAUSNUMMER###<br>
###POSTLEITZAHL### ###ORT###<br>
###TELEFON###<br>
###FAX###<br>
###EMAIL###<br>
</div>
<!-- ###MYTEMPLATE### end --> 


</body>
</html>

kann mir da jemand weiter helfen?

Auf der Seite wo ich die Extension her hab, läuft alles!

Mfg Skyhead

Skyhead ·

Hallo Leute, kann mir irgendwer weiter helfen. Hab jetzt noch eine 2. Extension geschrieben, aber auch bei dieser ist nach dem exportieren aus eine Installation in eine andere Installation nichts mehr im Frontend zu sehen.

Im Backend sieht alles genauso aus, auch in der Datenbank wird alles gespeichert. Nur im Frontand sehe ich nichts.

Wenn ich mir den Seitenquelltext anschaue, sehe ich, dass die Extension eingebunden wird.

<!--  CONTENT ELEMENT, uid:2/xxx [begin] -->
	<a id="c2"></a>
<!--  CONTENT ELEMENT, uid:2/xxx [end] -->

Brauche dringend Hilfe, da ich nicht weiß woran dies liegen könnte.

P.S. Die SQL Verison, die PHP Version und die Typo3 Version sind gleich.