Hallo ich hab mal eine Frage!
Wie kann ich die fe_user um eine Selectorbox erweitern. Hab schon gegoogelt und diverse Foren durchforstet. Schließlich hab ichs mit der Kickstarter Anleitung von Kasper probiert, aber leider vergeblich.
Ich glaube, dass das Problem im html-Template liegt, weil im Backend alles wunderbar funktioniert, im Frontend also im Registrierungsformular wird keine Selectorbox generiert, sondern nur ne Integer-Eingabezeile mit einer Zahl drin.
Kann mir vielleicht jemand einen Tipp geben ???
Wäre Euch allen echt dankbar...
Liebe Grüße
Erweiterung von feuser in Verb. mit sr_feuser_registration
Problem: Selectorbox in Verbindung mit fe_user Erweiterung gelöst!!!
Der Template Code muss folgendermaßen aussehen:
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
<dt>
<label for="tx-srfeuserregister-pi1-myNewFieldName">###LABEL_MYNEWFIELDNAME###</label>
<span class="tx-srfeuserregister-pi1-required">###REQUIRED_MYNEWFIELDNAME###</span>
</dt>
<dd>
<!-- ###SUB_ERROR_FIELD_myNewFieldName### -->
<p class="tx-srfeuserregister-pi1-error">###EVAL_ERROR_FIELD_myNewFieldName###</p>
<!-- ###SUB_ERROR_FIELD_myNewFieldName### -->
<!-- ###SUB_REQUIRED_FIELD_myNewFieldName### -->
<p class="tx-srfeuserregister-pi1-error">###MISSING_MYNEWFIELDNAME###</p>
<!-- ###SUB_REQUIRED_FIELD_myNewFieldName### -->
###TCA_INPUT_myNewFieldName####
</dd>
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
wichtig hierbei ist die Kleinschreibung des Feldnamens in der drittletzten Zeile (###TCA_INPUT_myNewFieldName####). Sonst wird der Marker nicht ersetzt.
In meinem Beispiel, Extension-Key: mth_feuser_extend und Feldname: Instrument sieht der Code dann folgendermaßen aus...
<!-- ###SUB_INCLUDED_FIELD_tx_mthfeuserextend_instrument### -->
<dt>
<label for="tx-srfeuserregister-pi1-tx_mthfeuserextend_instrument">###LABEL_TX_MTHFEUSEREXTEND_INSTRUMENT###</label>
<span class="tx-srfeuserregister-pi1-required">###REQUIRED_TX_MTHFEUSEREXTEND_INSTRUMENT###</span>
</dt>
<dd>
<!-- ###SUB_ERROR_FIELD_tx_mthfeuserextend_instrument### -->
<p class="tx-srfeuserregister-pi1-error">###EVAL_ERROR_FIELD_MTHFEUSEREXTEND_INSTRUMENT###</p>
<!-- ###SUB_ERROR_FIELD_tx_mthfeuserextend_instrument### -->
<!-- ###SUB_REQUIRED_FIELD_tx_mthfeuserextend_instrument### -->
<p class="tx-srfeuserregister-pi1-error">###MISSING_MTHFEUSEREXTEND_INSTRUMENT###</p>
<!-- ###SUB_REQUIRED_FIELD_tx_mthfeuserextend_instrument### -->
###TCA_INPUT_tx_mthfeuserextend_instrument###
</dd>
<!-- ###SUB_INCLUDED_FIELD_tx_mthfeuserextend_instrument### -->
Die Marker für die Preview-abschnitte müssen folgendermaßen lauten:
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
<dt>###LABEL_MYNEWFIELDNAME###</dt>
<dd>###TCA_INPUT_myNewFieldName###</dd>
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->
oder in meinem speziellen Beispiel:
<!-- ###SUB_INCLUDED_FIELD_tx_mthfeuserextend_instrument### -->
<dt>###LABEL_TX_MTHFEUSEREXTEND_INSTRUMENT###</dt>
<dd>###TCA_INPUT_tx_mthfeuserextend_instrument###</dd>
<!-- ###SUB_INCLUDED_FIELD_tx_mthfeuserextend_instrument### -->
Sollte jemand die Marker von der Extension-Dokumentations-Seite auf typo3.org kopiert haben, muss er drei Rautenzeichen vor TCA_INPUT in Zeile 3 entfernen. Hier wurde nämlich fälschlicherweise ein inkorrekter Code veröffentlicht.
Bitte auch hier die Groß- und Kleinschriebung der Feldnamen beachten.
Ist wahrscheinlich schon zu spät, aber der trick bei einer eigenen Select-box oder Checkbox oder radiobuttons etc ist, das man dafür im $TCA definieren muss wie die Tabellenspalte dargestellt werden soll.
Also in der eigenen extension in der datei ext_tables.php bsp-weise folgendes schreiben:
$columns_feusers = array(
'tx_deine_sache' => Array (
'label' => 'Ueberschrift fürs Backend glaube ich',
'config' => Array (
'type' => 'select',
'items' => Array (
Array('Wert 1', 0,),
Array('Wert 2', 1),
),
'default' => '0',
)
)
);
t3lib_extMgm::addTCAcolumns('fe_users',$columns_feusers,1);
t3lib_extMgm::addToAllTCAtypes('fe_users','tx_deine_sache');
mehr dazu unter:
https://docs.typo3.org/m/typo3/reference-tca/main/en-us/Index.html
(das ist jetzt nicht getestet sondern aus einem funktionierendem projekt zusammengekürzt, müsste aber gehen)
#angry# Bei mir geht's nicht!
kann mir jemandem helfen? 😢
ich habe genau das selbe gemacht wie EvilBMP in sein tolles Tutorial erklärt hat . Bei mir wird kein neuer Feld in Frontend angezeigt.
Hier ist der Subpart, die in Template eingefügt ist.
<!-- ###SUB_ERROR_FIELD_user_jgextname_kennzifer### -->
<p class="tx-srfeuserregister-pi1-error">###EVAL_ERROR_FIELD_user_jgextname_kennzifer###</p>
<!-- ###SUB_ERROR_FIELD_user_jgextname_kennzifer### -->
<!-- ###SUB_REQUIRED_FIELD_user_jgextname_kennzifer### -->
<p class="tx-srfeuserregister-pi1-error">###MISSING_USER_JGEXTNAME_KENNZIFER###</p>
<!-- ###SUB_REQUIRED_FIELD_user_jgextname_kennzifer### -->
<input id="tx-srfeuserregister-pi1-user_jgextname_kennzifer" type="text" size="40" maxlength="50" title="###TOOLTIP_user_jgextname_kennzifer###" name="FE[fe_users][user_jgextname_kennzifer]" class="tx-srfeuserregister-pi1-text" />
</dd>
<!-- ###SUB_INCLUDED_FIELD_user_jgextname_kennzifer### -->
Ich habe bereit das sr_feuserregister in eine andere Seite eingefügt, die 2 Seiten sind auf unterschiedliche Ebene, aber der Ausgangspunkt ist der Selbe Ordner und die loginPID auch.
kann es Konflikte geben, wenn die Erweiterung zwei mal benutzt wird?
Ich habe den Fehler gefunden.
Ich musste kein Template File in Setup eingeben sondern in Constant Editor unter "Template File" das geänderte Template vom Computer hochladen. 🙂
Gruß
Ich habe noch 2 Probleme #angry#
1- bei der Ausgabe des Feldes:
Wenn ich das Feld editiere wird folgendes angezeigt
kennzifer: input:unsupported
2- Ich habe das feuser und die Benutzerliste(tx_newloginbox_pi3) plugin auf eine Seite Installiert, Das eingefügte Feld "kennzifer" wird in Benutzerliste in Frontend so angezeigt:
user_jgextname_kennzifer]:12ab56 (12ab56 ist der Wert die In der Tabelle fe_users gespeichert ist.)
kann mir jemandem helfen die Lösungen zu finden?
vielen Dank in voraus.
Gruß
Hallo Ich habe schon wieder die Lösung gefunden.
Ich habe in Template Setup, wo ich die Benutzerliste eingefügt habe , folgendes eingeben:
plugin.tx_newloginbox_pi3._LOCAL_LANG.default.listFieldHeader_user_jgextname_kennzifer = Kennzife:
Dadurch wird das Feld user_jgextname_kennzifer durch kennzifer: ersetzt.
Ich bin's nochmal 😉 .
Ich möchte mit feuserregister die Geschäftszeiten der User speichern und anzeigen.Für jeden Tag Vormittag zeitvon und zeitbis und Nachmittag zeitvon und zeitbis Von Montag bis Sonntag.
Hat jemand eine Idee wie ich das am besten machen kann?
Meiner erste Gedanke war dieTabelle fe_users um 3 Felder zu erweitern: die Felder Tag, zeit1 und zeit2, alle 3 als Auswahlfelder in Frontend.
Aber wenn der User verschieden Tage einträgt, wird jedes mal ein Update gemacht.
Hat jemand so ein Problem schon gelöst?
😃 Nach mehrere Recherchen und Überlegung habe ich eine Lösung gefunden.
Ich habe in die tabelle fe_users 7 Felder eingefügt(mit Hilfe von Kickstarter),
Die Felser sind alle Varchar. Dann in der class.tx_jgextname_pi1.php habe ich eine Eingabe Formular erstellt mit Mehrere Textfelder:
function showContent(){
$content = '<table><tr>
<td>Montag: Vormittag von<input type="text" name="MoVvon"/> Bis <input type="text" name="MoVbis"/> Nachmittag von<input type="text" name="MoNvon"/> Bis <input type="text" name="MoNbis"/></td>
.....
<input type="hidden" name="senden" value="1"/>
<input type="submit" value="speichern"/>
';
return $content;
}
Dann habe ich die Werte per Post in der Datenbank gespeichert:
function main(){
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->pi_USER_INT_obj=1;
$content='';
$marker = array();
$postlist = t3lib_div::_POST();
//Template laden
$tmpl = $this->cObj->fileResource($conf["templateFile"]);
if ($postlist['senden']==1){
$content = $this->updateContent();
}
//Marker ansprechen
$marker["###FORMULAR###"] = $this->showContent();
$content .= $this->cObj->substituteMarkerArrayCached($tmpl,$marker);
return $content;
}
function updateContent(){
$storeId = $conf["seiteid"];
// Angemeldete Userid in eine Variable speichern
$userid = $GLOBALS['TSFE']->fe_user->user['uid'];
// $postlist gibt die post Variable zurück
$postlist = t3lib_div::_POST();
// Werte in ein Array speichern
$Eingabe = array('tx_jgextname_montag'=>' Vormittag: '.$postlist['MoVvon'].'-:'.$postlist ['MoVbis'].' Nachmittag: '.$postlist['MoNvon'].'-:'. $postlist['MoNbis'],
....);
// Die Tabelle fe_users aktualisieren und neue Werte eintragen
$GLOBALS['TYPO3_DB']->exec_UPDATEquery('fe_users', 'uid='.intval($userid),$Eingabe);
}
lamina schriebDie Marker für die Preview-abschnitte müssen folgendermaßen lauten:
<!-- ###SUB_INCLUDED_FIELD_myNewFieldName### --> <dt>###LABEL_MYNEWFIELDNAME###</dt> <dd>###TCA_INPUT_myNewFieldName###</dd> <!-- ###SUB_INCLUDED_FIELD_myNewFieldName### -->oder in meinem speziellen Beispiel:
<!-- ###SUB_INCLUDED_FIELD_tx_mthfeuserextend_instrument### --> <dt>###LABEL_TX_MTHFEUSEREXTEND_INSTRUMENT###</dt> <dd>###TCA_INPUT_tx_mthfeuserextend_instrument###</dd> <!-- ###SUB_INCLUDED_FIELD_tx_mthfeuserextend_instrument### -->Sollte jemand die Marker von der Extension-Dokumentations-Seite auf typo3.org kopiert haben, muss er drei Rautenzeichen vor TCA_INPUT in Zeile 3 entfernen. Hier wurde nämlich fälschlicherweise ein inkorrekter Code veröffentlicht.
Bitte auch hier die Groß- und Kleinschriebung der Feldnamen beachten.
Hallo!
Also ich habe eine Extension für sr_feuser_register geschrieben, die die Tabelle fe_users um 1 Spalte erweitert. Das hat auch prima geklappt! Nur jetzt kommt der Hacken! Ich habe, wie lamina oben beschrieben im Preview Bereich des Templates den Marker ###TCA_INPUT_myNewFieldName### gesetzt. Das Feld wird Inhaltlich auch korrekt ausgegeben, nur kommt vor und nach dem Inhalt ein Break (also ein <br />).
Hat wer ne Idee, wie ich diese zwei Breaks weg bekomme?
Liebe Grüsse und Danke für eine Antwort!
@EvilBMP: Vielen vielen Dank für die supertolle Hilfe zum Hinzufügen neuer Felder.
Dank Dir habe ich mir viel Sucherei gespart.
LG,
LILI
#giggle#
Ich grabe ja nur ungerne alte Threads wieder aus, aber ich komme hier einfach nicht weiter. Ich habe die Felder hinzugefügt, diese werden auch angezeigt und Inputs werden auch sauber übergeben. Alles soweit wunderbar.
Aber das Feld usergroups, was ja schon existiert wird nicht angezeigt, auch wenn das eingestellt ist, dass es angezeigt werden soll. Und ich habe folgenden Code um eine Selectorbox reinzudrücken um zu abzufragen ob der User Advertiser oder Publisher ist.
Code:
<!-- ###SUB_INCLUDED_FIELD_tx_affilibevertised_advorpubh### -->
<dt>
<label for="tx-srfeuserregister-pi1-tx_affilibevertised_advorpubh">###LABEL_TX_AFFILIBEVERTISED_ADVORPUBH###</label>
<span class="tx-srfeuserregister-pi1-required">###REQUIRED_TX_AFFILIBEVERTISED_ADVORPUBH###</span>
</dt>
<dd>
<!-- ###SUB_ERROR_FIELD_tx_affilibevertised_advorpubh### -->
<p class="tx-srfeuserregister-pi1-error">###EVAL_ERROR_FIELD_AFFILIBEVERTISED_ADVORPUBH###</p>
<!-- ###SUB_ERROR_FIELD_tx_affilibevertised_advorpubh### -->
<!-- ###SUB_REQUIRED_FIELD_tx_affilibevertised_advorpubh### -->
<p class="tx-srfeuserregister-pi1-error">###MISSING_AFFILIBEVERTISED_ADVORPUBH###</p>
<!-- ###SUB_REQUIRED_FIELD_tx_affilibevertised_advorpubh### -->
###TCA_INPUT_tx_affilibevertised_advorpubht###
</dd>
<!-- ###SUB_INCLUDED_FIELD_tx_affilibevertised_advorpubh### -->
Und generell ist es so, dass die Marker nicht ausgelesen werden. Entweder bin ich blind oder schlicht und ergreifend zu blöde, aber ich kriege das nicht ans laufen.
Jemand eine Idee?
Hallo, etwas spät, aber für die, die mit der neusten (oder neuerer) Version von sr_email_subscribe, sr_feuser_register arbeiten und ###TCA_INPUT_tx_kickstarter_ext_feldname### nicht funktioniert
(habs auch erst nach einer Stunde testen gefunden #angry# )
hier eventuell der Grund:
http://jambage.com/index.php?id=213&tx_ttboard_pi_list[uid]=2577&cHash=1562f801aa
und warum:
http://bugs.typo3.org/view.php?id=5846
MfG
und ein dickes Dankeschön an EvilBMP für die super Anleitung
PS.: für Änfänger wie mich 😃 , weis nicht ob es so korrekt ist, bei mir tut es. Es wurde nach der Anleitung keine ext_localconf.php angelegt, hab sie selbst erstellt,
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_feuser_register']['extendingTCA'][] = 'xx_namedeiner_ext';
eingefügt, per Kicksterter ein Update meiner ext gemacht, und es funzt