Hi,
ich möchte den CWT_Community User erweitern und in der EXT CWT Community besser darstellen.
Er soll bspw. den Punkt Haarfarbe haben.
Sein Profil kann er mit
$content.= $form->getElement("tx_cwtcommunityuser_hair");
und
$items['tx_cwtcommunityuser_hair']['label'] = htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_HAIR_LABEL'));
$items['tx_cwtcommunityuser_hair']['helptext'] = htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_HAIR_HELPTEXT'));
$items['tx_cwtcommunityuser_hair']['error_msg'] = htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_HAIR_ERRMSG'));
einstellen. Klappt auch soweit ganz gut! Die Eingabe ist eine Selectorsbox, die mit 4 Werten hinterlegt ist.
Jetzt möchte ich das Profil des Users anzeigen lassen. Das mach ich mit:
$markerArray["###HAIR###"] = $cObj -> stdWrap($user['tx_cwtcommunityuser_hair'], "");
Anstatt mir jetzt die Haarfarbe auszugeben, bekomm ich nur einen Integer Wert (z.B. 0 oder 3), jedoch nicht die Bezeichnung aus der LL wie braun oder blond.
Ich hatte dann versucht mit
$markerArray["###EYE###"] = $cObj -> stdWrap($this->pi_getLL($user['tx_cwtcommunityuser_eye']), "");
Die Verknüpfung zu der LL hinzubekommen...Kein Erfolg.
Wo liegt mein Denkfehler? Wer von euch kann mir da helfen?
Hat keiner ne Idee oder ne Doku oder wie auch immer?!? 😢
Hi Morden,
versuche z.Z. ebenso diese (für mich) harte Nuss zu knacken ....
bis hierhin bin ich auch gekommen ...
vielleicht hilft Dir das weiter:
http://typo3.org/doc.0.html?&encryptionKey=&tx_extrepmgm_pi1[extUid]=618&tx_extrepmgm_pi1[tocEl]=1879&cHash=8261c69021
so wie ich das verstehe ist die funktion pi_getLL nur für die Label der Felder zuständig und nicht für die Interpretation der Inhalte ....
später hoffentlich mehr
Bin ja gespannt. Wäre cool, wenn du mich auf dem Laufenden halten würdest, weil ich so noch nicht weiter gekommen bin. 🙁
Man muss nur hartnäckig sein .... *lol* - und wissen das man gleich nach dem Post bald auf das nächste Prob stößt.
Habe mich also durch endlose Code-Wüsten gewühlt ...
1) pi_loadLL() läd grundsätzlich nur locallang.php und nicht etwa locallang_db.php
2) pi_getLL($key,$alt='',$hsc=FALSE) kann nur damit arbeiten was zuvor die pi_loadLL() reinzieht.
dabei gilt:
$key: string The key from the LOCAL_LANG array for which to return the value.
$alt: string Alternative string to return IF no value is found set for the key, neither for the local language nor the default.
$hsc: boolean If true, the output label is passed through htmlspecialchars()
3) Bei diesem Problem versuchte ich die ganze Zeit von cwt_community auf die locallang_db.php der cwt_community_user zuzugreifen ...ging nicht
habe also den Inhalt von der locallang_db.php
....snip....
"fe_users.tx_cwtcommunityuser_sex.I.0" => "Male",
"fe_users.tx_cwtcommunityuser_sex.I.1" => "Female",
"fe_users.tx_cwtcommunityuser_sex.I.2" => "no answer",
"fe_users.tx_cwtcommunityuser_sex" => "Sex",
....snip....
der cwt_community_user in die locallang.php der cwt_community kopiert und so die Marker definiert:
....snip....
$markerArray["###SEX###"] = $cObj->stdWrap($this->pi_getLL('fe_users.tx_cwtcommunityuser_sex.I.'.$user['tx_cwtcommunityuser_sex']),"");
....snip....
tja und statt
Geschlecht: 1
steht nun bei mir
Geschlecht: Female
:-)
der Rest (Anpassung der anderen Sprachen etc.) ist 'nur' noch Fleissarbeit ...
CU
Jörg
GEIL!!! 😃 😃 😃 😃 😃
DAS WARS !!! 🙂 🙂 🙂
Wärste weiblich, würde ich dich abknutschen! 😉 😃 😃
ich möchte ungefähr das gleiche machen, also zusätzlich den Nutzern die Möglichkeit geben, einen Lebenslauf hoczuladen und ein Abschlussjahr anzugeben.
Jetzt habe ich in der class.tx_cwtcommunity_pi1.php
folgende Zeilen zusätzlich eingefügt:
$items['tx_lomalumnidatabase_cv']['label'] =htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_CV_LABEL'));
$items['tx_lomalumnidatabase_cv']['helptext'] = htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_CV_LABEL'));
$items['tx_lomalumnidatabase_cv']['error_msg'] = htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_CV_LABEL'));
sowie
$content.= $form->getElement("tx_lomalumnidatabase_cv");
Allerdings erscheint beim Editieren des Profils eines Nutzers kein zusätzliches Feld... Was fehlt mir noch?
Grüße
Lars
Im TS Setup oder Constants musst du das Feld auch mit reinnehmen. Ebenso im Template!
Morden schriebIm TS Setup oder Constants musst du das Feld auch mit reinnehmen. Ebenso im Template!
Hallo würd es auch gerne erweitern finde aber kein Template für Profil bearbeiten und auch im TS Setup
sowie Constants auch nix passendes für den Bereich.
Wo steckt das denn drin???
Danke
Gruß
Thomas
du brauchst ja die EXT cwt FE Edit dafür.
da kannste das dann erweitern.
Wo im FEEDIT muss das angepasst werden?
Hallo,
auch ich habe mit der Community gerungen.
Ich habe die CWT wie folgt erfolgreich erweitern können:
cwt_community/pi1/locallang.php
für jede Sprache folgendes Einfügen:
'CWT_PROFILE_TEST1' => 'Test1',
und
'CWT_PROFILE_EDIT_TEST1_LABEL' => 'test1:',
'CWT_PROFILE_EDIT_TEST1_HELPTEXT' => 'Hilfetext für test1',
'CWT_PROFILE_EDIT_TEST1_ERRMSG' => '',
cwt_community/pi1/class.tx_cwtcommunity_pi1.php
//START CONFIG FOR FEEDIT
$items['tx_cwtcommunityuser_test1']['label'] = htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_TEST1_LABEL'));
$items['tx_cwtcommunityuser_test1']['helptext'] = htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_TEST1_HELPTEXT'));
$items['tx_cwtcommunityuser_test1']['error_msg'] = htmlspecialchars($this->pi_getLL('CWT_PROFILE_EDIT_TEST1_ERRMSG'))
//Create form object
$content.= $form->getElement("tx_cwtcommunityuser_test1");
// Create Marker Array
$markerArray["###TEST1_LABEL###"] = $cObj->stdWrap(htmlspecialchars($this->pi_getLL('CWT_PROFILE_TEST1')), "");
$markerArray["###TEST1###"] = $cObj -> stdWrap($user['tx_cwtcommunityuser_test1'], "");
cwt_community/pi1/tx_cwtcommunity_pi1_profile.tmpl
<tr>
<th align="left">###TEST1_LABEL###:</th><td>###TEST1###</td>
</tr>
cwt_community_user/ext_tables.php
am besten mittels "Edit in Kickstarter" die cwt_community_user um die gewüschten Felder erweitern
Grüße
Hallo zusammen,
der Thread ist zwar schon etwas älter, aber ich stand vor dem gleichen Problem.
Ich hatte chc_forum mit cwt_communtity und cwt_feedit im Einsatz. Ich konnte die Felder aus fe_users auslesen und z.B. im Profil anzeigen lassen, wie oben beschrieben. An einer Nuss habe ich länger geknackt. Ich konnte nicht alle Felder editieren, obwohl ich wie oben beschrieben die Attribute in cwt_community/pi1/class.tx_cwtcommunity_pi1.php geändert hatte. Dazu gehörten z.b. Vorname, Nachname, comments.
Lösung:
Vorname, Nachname, comments sind von der Extension sr_feuser_register hinzugefügt worden.
Beim Konstruieren des Formulars müssen daher in der letzten Variablen die Extensions aufgelisten werden, die in fe_users Felder hinzugefügt haben. So bei Vorname und Nachname sr_feuser_register...
So sah es dann bei mir aus:
//Create form object Jürgen ext geändert, war: cwt_community_user
$form = new tx_cwtfeedit_pi1($table, $items, $record_uid, $cruser_id, $GLOBALS["TSFE"]->id, array(), $this, array("sr_feuser_register", "cwt_community_user"));
Vielleicht erspart dies einigen die rumprobiererei.
Viele Grüße
Jürgen
hardcoder schrieb
der Rest (Anpassung der anderen Sprachen etc.) ist 'nur' noch Fleissarbeit ...
Die Lösung von hardcoder funktioniert super... nur, kann ich irgendwie die Daten aus der static_info_tables auslesen? Ich habe im FE Felder wie 'language', 'state/province' und 'country' definiert, und es wäre ziemlich mühsam, alle möglichen Werte für diese Felder per Hand eingeben zu müssen...