<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TYPO3 Blog - für TYPO3 Entwickler von TYPO3 Experten &#187; benutzzerregisterung</title>
	<atom:link href="http://blog.marit.ag/tag/benutzzerregisterung/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.marit.ag</link>
	<description>TYPO3 Entwicklung, TYPO3 Extensions, TypoScript, TYPO3 Installation und vieles mehr</description>
	<lastBuildDate>Fri, 27 Jan 2012 10:30:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>sr_feuser_register mit zusätzlichen Feldern</title>
		<link>http://blog.marit.ag/2010/02/03/sr_feuser_register-zusatzfeld/</link>
		<comments>http://blog.marit.ag/2010/02/03/sr_feuser_register-zusatzfeld/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 08:46:51 +0000</pubDate>
		<dc:creator>Lina</dc:creator>
				<category><![CDATA[TYPO3 Technik]]></category>
		<category><![CDATA[benutzzerregisterung]]></category>
		<category><![CDATA[Felder hinzufügen]]></category>
		<category><![CDATA[Front-End Benutzerregisterierung]]></category>
		<category><![CDATA[sr_feuser_register]]></category>

		<guid isPermaLink="false">http://blog.marit.ag/?p=542</guid>
		<description><![CDATA[Zusätzliche Felder zum Front-End Benutzer Registrierungsmodul von sr_feuser_register hinzuzufügen ist eigentlich nicht schwer. Jedoch gibt es auch hier wie so oft einige Fallstricke zu beachten. Die FE-User Tabelle erweitern Zunächst müssen die zusätzlichen Felder in der Front-End Benutzertabelle erzeugt werden. Hierzu kann einfach mit dem Kickstarter eine Extension erstellt werden, die der Tabelle fe_users weitere [...]]]></description>
			<content:encoded><![CDATA[<p>Zusätzliche Felder zum Front-End Benutzer Registrierungsmodul von sr_feuser_register hinzuzufügen ist eigentlich nicht schwer. Jedoch gibt es auch hier wie so oft einige Fallstricke zu beachten.<span id="more-542"></span></p>
<h2>Die FE-User Tabelle erweitern</h2>
<p>Zunächst müssen die zusätzlichen Felder in der Front-End Benutzertabelle erzeugt werden. Hierzu kann einfach mit dem Kickstarter eine Extension erstellt werden, die der Tabelle fe_users weitere Felder hinzufügt.</p>
<h2>Die Marker im Template von sr_feuser_register anlegen</h2>
<p>So man das noch nicht getan hat, das Template der Front-End Registrierung kopieren und im Fileadmin ablegen. Dann in den TypoScript Konstanten das Template eintragen:</p>
<pre>plugin.tx_srfeuserregister_pi1 {
file.templateFile = fileadmin/template/html/srfeuserregister.html
}</pre>
<p>In diesem Template nun die Marker für die zusätzlichen Marker hinzufügen.</p>
<h3>Marker für einfache Textfelder anlegen:</h3>
<pre>&lt;!-- ###SUB_INCLUDED_FIELD_myNewFieldName### --&gt;
&lt;dt&gt;
&lt;label for="tx-srfeuserregister-pi1-myNewFieldName"&gt;###LABEL_MYNEWFIELDNAME###&lt;/label&gt;
&lt;span&gt;###REQUIRED_MYNEWFIELDNAME###&lt;/span&gt;
&lt;/dt&gt;
&lt;dd&gt;
&lt;!-- ###SUB_ERROR_FIELD_myNewFieldName### --&gt;
&lt;p&gt;###EVAL_ERROR_FIELD_myNewFieldName###&lt;/p&gt;
&lt;!-- ###SUB_ERROR_FIELD_myNewFieldName### --&gt;
&lt;!-- ###SUB_REQUIRED_FIELD_myNewFieldName### --&gt;
&lt;p&gt;###MISSING_MYNEWFIELDNAME###&lt;/p&gt;
&lt;!-- ###SUB_REQUIRED_FIELD_myNewFieldName### --&gt;
&lt;input id="tx-srfeuserregister-pi1-myNewFieldName" type="text" size="40" maxlength="50" title="###TOOLTIP_MYNEWFIELDNAME###" name="###NAME_MYNEWFIELDNAME###" /&gt;
&lt;/dd&gt;
&lt;!-- ###SUB_INCLUDED_FIELD_myNewFieldName### --&gt;
</pre>
<p>Dabei myNewFieldName durch den gesammten Feldnamen ersetzen.</p>
<h3>sr_feuser_register Radiobuttons, Checkboxen, Auswahlfelder und Textbereiche hinzufügen</h3>
<p>Besonders komfortabel wird das hinzufügen von neuen Feldern zur Front-End Registrierung aus der Tatsache, dass die Extension automatisch die TCA Konfiguration des Feldes ausliest und daraus automatisch ein entsprechendes Feld (zum Beispiel Auswahlfeld o.ä.) generiert. Dafür im obigen Beispiel statt dem inputtag nur einen solchen Marker hinzufügen:</p>
<pre>###TCA_INPUT_myNewFieldName###</pre>
<p>Jedoch wird dieser Marker nur ersetzt, wenn auch die TCA Konfiguration des entsprechenden Feldes gefunden wurde. Dazu mehr im entsprechenden Abschnitt.</p>
<p>Leider ist es nicht möglich, Select Felder in Zusammenhang mit &#8220;itemsProcFunc&#8221; zu nutzen.</p>
<h2>Die Felder im TypoScript (Konstanten) freischalten</h2>
<p>Auch wenn die zusätzlichen Felder zur Registrierung bereits im Template eingetragen wurden, werden diese nur angezeigt, wenn sie auch per TypoScript Konstanten freigeschaltet wurden:</p>
<pre>plugin.tx_srfeuserregister_pi1.formFields = username,password,gender,password_repeat, ...</pre>
<p>Pflichtfelder müssen in folgende Liste eingetragen werden:</p>
<pre>plugin.tx_srfeuserregister_pi1.requiredFields = username,password, ...</pre>
<p>Der Name des Feldes ist immer identisch mit dem Namen des entsprechenden Feldes in der Datenbanktabelle fe_users.</p>
<h2>Label und Fehlertexte lokalisiert hinzufügen</h2>
<p>Wie bereits bei der Eintragung ins Template zu erkennen war, können alle Label und Texte für den Fehlerfall lokalisiert eingegeben werden. Dazu einfach folgendes zum TypoScript Setup hinzufügen:</p>
<pre>plugin.tx_srfeuserregister_pi1._LOCAL_LANG.de.myNewFieldName = Mein Feld eingeben:</pre>
<p>Fehlernachricht bei unausgefüllten Pflichtfeldern:</p>
<pre>plugin.tx_srfeuserregister_pi1._LOCAL_LANG.de.missing_myNewFieldName = Bitte geben Sie etwas ein!</pre>
<p>Dasselbe aber für die Einladungsmaske:</p>
<pre>plugin.tx_srfeuserregister_pi1._LOCAL_LANG.languageCode.missing_invitation_ myNewFieldName = Bitte auch hier was eingeben</pre>
<p>Fehlermeldung, wenn das Feld falsch ausgefüllt wurde:</p>
<pre>plugin.tx_srfeuserregister_pi1._LOCAL_LANG.languageCode.evalErrors_evalRuleName_myNewFieldName = Darf nur Buchstaben und Zahlen enthalten!</pre>
<h2>Die TCA-Konfiguration zur Verfügung stellen</h2>
<p>In früheren Versionen der Extension sr_feuser_register wurde pauschal die gesamte TCA des Projektes eingelesen und ausgewertet. Dies stellte sich jedoch als zu ressourcenfressend heraus. Daher müssen Extensions, deren Felder in sr_feuser_register genutzt werden sollen, nun über einen Hook registriert werden. Dazu folgenden Code der ext_localconf.php der Extension, die die neuen Felder enthält, hinzufügen:</p>
<p>if (TYPO3_MODE==&#8217;FE&#8217;){<br />
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_feuser_register']['extendingTCA'][] = &#8216;my_new_ext&#8217;;<br />
}</p>
<p>Kann oder möchte man die andere Extension nicht verändern oder bleibt bei älteren Konstellationen der Hook wirkungslos, so kann man auch mit einem direkten Hack der Extension sr_feuser_register die TCA zur Verfügung stellen. Achtung, diese Änderung geht bei einem späteren Update verloren und muss daher gut dokumentiert werden!</p>
<p>In der Datei typo3conf/ext/sr_feuser_register/lib/class.tx_srfeuserregister_tca.php in der Funktion &#8220;init&#8221; hinter dem Code, der direkt Mail behandelt folgendes einfügen:</p>
<pre>if (t3lib_extMgm::isLoaded('my_new_ext'))    {
tx_div2007_alpha::loadTcaAdditions_fh001(array('my_new_ext<strong></strong>'));
}</pre>
<p>Nun wird das TCA in jedem Fall geladen. Andernfalls kann der ärgerliche Fall eintreten, das bei der Front-End Nutzerregistrierung die Marker der Felder nur dann ersetzt werden, während man als Nutzer im Backend angemeldet ist, da nur in dem Fall das ganze TCA geladen wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.marit.ag/2010/02/03/sr_feuser_register-zusatzfeld/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

