Re: [TYPO3-german] Lösung gesucht
Hallo Typo3 Userlist, Hallo Philipp Gampe, ich komme hier nicht weiter. Ich schaffe es nicht die 3 von mir unter FE_users angelegten Tabellenfelder in meiner Extension auszugeben. Ich hab mir ja mal eine eigene Extension gestartet in der ich in der ext_tables.php 3 weitere Felder eingebaut habe die in fe_users angelegt werden. Das funktioniert auch und ich kan im BE zu jedem FE User noch die Felder füllen und Dateien anhängen. Jetzt versuche ich diese 3 Felder mit meiner Extension mittels FE-PlugIn anzeigen zu lassen. Aber wie komme ich an die Felder ran und wo muss ich die in meiner Extension eintagen damit ich im FE irgend was ausgeben lassen kann. Ich komm schon gar nicht aus der Classe in das Fluid Template. Ich steh da voll auf dem Schlauch. Kann mir jemand zeigen wie das funktioniert? Besten Dank für Hilfe Christian Am 12.01.2015 um 10:35 schrieb Philipp Gampe: Hi Christian, Christian Leicht wrote: Mein Problem liegt aber darin das die Files nicht in der Datenbanktabelle meiner Extension sind, sondern in der fe_user. An die komme ich nicht ran. Ich muss meine Extension soweit bringen damit ich auf die fe_user Tabelle zugreifen kann. Dann kann ich die aktuelle FE User id auslesen und nach den passenden Dateien suchen. Nimm den Extension Builder und lass dir ein abgeleitetes Modell von fe_users erstellen. Dann wird dir alles generiert. Du kannst sogar noch Felder hinzufügen und es funktioniert einfach. Grüße ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Lösung gesucht
Hallo Christian, ich habe es bei mir so gelöst, dass ich in meiner Extension ein Model für den FE-User erstellt habe: class User extends \TYPO3\CMS\Extbase\Domain\Model\FrontendUser { } und dann im TypoScript auf die fe_users-Tabelle gemappt: config.tx_extbase{ persistence{ classes{ Vendor\Extension\Domain\Model\User { mapping { tableName = fe_users } } } } } Da Du zusätzliche Felder in fe_users angelegt hast, musst Du vermutlich noch eigene Getter- und Settermethoden in Deinem Model schreiben. Ich hoffe, dass ich nun keinen Quatsch geschrieben habe und es Dir weiterhilft. Gruß Carsten Am 19. Januar 2015 um 13:06 schrieb Christian Leicht use...@schani.com: Kann mir jemand zeigen wie das funktioniert? ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Lösung gesucht
Hallo Philipp, ich bin mir nicht sicher was Du meinst. Ich hab mir ja mal eine eigene Extension gestartet in der ich in der ext_tables.php 3 weitere Felder eingebaut habe die in fe_users angelegt werden. Das funktioniert auch und ich kan im BE zu jedem FE User noch die Felder füllen und Dateien anhängen. Jetzt schreibst Du mir das ich ein abgeleitetes Modell von fe_users erstellen soll. Wie macht man so was ? Ich kann die fe_user Datenbank ja im Extension Builder nicht aufrufen. Weis nicht was es bedeutet und wie das in sich greift. Besten Dank für einen Tipp Christian ## ext_tables.php //**// // USER | Erweiterung fe_users um 3 Felder //**// t3lib_div::loadTCA('fe_users'); $addColumnArray = array( 'filegroup' = array( 'exclude' = 0, 'label' = '(Gruppe)', 'config' = array( 'type' = 'input', 'size' = 20, 'eval' = 'trim', ) ),'wwlfedescription' = array( 'exclude' = 0, 'label' = 'Beschreibung', 'config' = array( 'type' = 'text', 'cols' = 40, 'rows' = 4 ), 'defaultExtras' = 'richtext[]' ),'wwlfalfiles' = array( 'exclude' = 0, 'label' = 'Private Dateien des Users', 'config' = array( 'maxitems' = 999, 'type' = 'inline', 'foreign_table' = 'sys_file_reference', 'foreign_field' = 'uid_foreign', 'foreign_sortby' = 'sorting_foreign', 'foreign_table_field' = 'tablenames', 'foreign_match_fields' = array( 'fieldname' = 'file' ), 'foreign_label' = 'uid_local', 'foreign_selector' = 'uid_local', 'foreign_selector_fieldTcaOverride' = array( 'config' = array( 'appearance' = array( 'elementBrowserType' = 'file', 'elementBrowserAllowed' = 'doc,pdf,docx,xls,png,psd,ai,eps,odf,rar,zip,jpeg,jpg,mov,mpg,mkv,avi,ods,odt' ) ) ), 'filter' = array( array( 'userFunc' = 'TYPO3\\CMS\\Core\\Resource\\Filter\\FileExtensionFilter-filterInlineChildren', 'parameters' = array( 'allowedFileExtensions' = 'doc,pdf,docx,xls,png,psd,ai,eps,odf,rar,zip,jpeg,jpg,mov,mpg,mkv,avi,ods,odt', 'disallowedFileExtensions' = 'exe' ) ) ), 'appearance' = array( 'createNewRelationLinkTitle' = 'LLL:EXT:cms/locallang_ttc.xlf:media.addFileReference', 'useSortable' = TRUE, 'collapseAll' = 1, 'expandSingle' = 1, 'headerThumbnail' = array( 'field' = 'uid_local', 'width' = '64', 'height' = '64', ), 'showPossibleLocalizationRecords' = TRUE, 'showRemovedLocalizationRecords' = TRUE, 'showSynchronizationLink' = TRUE, 'enabledControls' = array( 'info' = TRUE, 'new' = TRUE, 'dragdrop' = TRUE, 'sort' = TRUE, 'hide' = TRUE, 'delete' = TRUE, 'localize' = TRUE, ), ), 'behaviour' = array( 'localizationMode' = 'select', 'localizeChildrenAtParentLocalization' = TRUE, ), ), ), ); t3lib_extMgm::addTCAcolumns('fe_users', $addColumnArray); t3lib_extMgm::addToAllTCAtypes('fe_users', '--div--;Dateien/Infos , filegroup,wwlfedescription,wwlfalfiles'); Am 12.01.2015 um 10:35 schrieb Philipp Gampe: Hi Christian, Christian Leicht wrote: Mein Problem liegt aber darin das die Files nicht in der Datenbanktabelle meiner Extension sind, sondern in der fe_user. An die komme ich nicht ran. Ich muss meine Extension soweit bringen damit ich auf die fe_user Tabelle zugreifen kann. Dann kann ich die aktuelle FE User id auslesen und nach den passenden Dateien suchen. Nimm den Extension Builder und lass dir ein abgeleitetes Modell von fe_users erstellen. Dann wird dir alles generiert. Du kannst sogar noch Felder hinzufügen und es funktioniert einfach. Grüße ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Lösung gesucht
Hallo Mirko, Was Du beschreibst dienst dazu mir die UserID auszulesen. Ja das brauche ich auch noch dazu. Mein Problem liegt aber darin das die Files nicht in der Datenbanktabelle meiner Extension sind, sondern in der fe_user. An die komme ich nicht ran. Ich muss meine Extension soweit bringen damit ich auf die fe_user Tabelle zugreifen kann. Dann kann ich die aktuelle FE User id auslesen und nach den passenden Dateien suchen. Die Dateien sind deshalb in der fe_user Tabelle damit ich sie im BE im FE User Datensatz mit bei Name,Vorname, Ort und Files mit verwalten kann. Christian Am 12.01.2015 um 08:25 schrieb Mirko Schaal: Hallo Christian, Am 12.01.2015 um 00:59 schrieb Christian Leicht christ...@leicht.info: ... FE_Usern muss ich eigene Dateien zum download anbieten. Ich habe einige hundert FE User die individuelle Dateien zum download bekommen sollen. Z.B. monatlichen Rechnungen und spezielle Dateien die nur der jeweilige User sehen darf. ... 1. Versuch Also habe ich die fe_user Datenbank um ein FAL Feld erweiter. So kann ich im BE einem FE_User mehrere Files anhängen. Das funktioniert auch gut. Jetzt muss ich aber die Dateien in meiner Extension wieder als Liste ausgeben können. Und da gibt es die Probleme. Wie bekomme ich in einer eigenen Extension die Dateien aufgelistet die in der fe_user Tabelle angelegt sind? … Wenn Du die User Tabelle bereits erweitert hast, musst Du im Prinzip in Deinem Controller nur noch das Model des gerade eingeloggten Benutzers laden und an Dein Template übergeben. ungefähr so (ungetestet): ... /** * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository * @inject */ protected $frontendUserRepository; public function meineAction() { if (isset($GLOBALS['TSFE']-fe_user-user['uid'])) { $user = $this-frontendUserRepository-findByUid($GLOBALS['TSFE']-fe_user-user['uid']); $this-view-assign('user', $user); } } … Dann in Deinem Template: ... f:for each={user.deinNeuesFeldAnDerUserTabelle} as=file a href={file.originalResource.publicUrl} {file.originalResource.name} /a /f:for ... Grüße Mirko ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Lösung gesucht
Hi Christian, Christian Leicht wrote: Mein Problem liegt aber darin das die Files nicht in der Datenbanktabelle meiner Extension sind, sondern in der fe_user. An die komme ich nicht ran. Ich muss meine Extension soweit bringen damit ich auf die fe_user Tabelle zugreifen kann. Dann kann ich die aktuelle FE User id auslesen und nach den passenden Dateien suchen. Nimm den Extension Builder und lass dir ein abgeleitetes Modell von fe_users erstellen. Dann wird dir alles generiert. Du kannst sogar noch Felder hinzufügen und es funktioniert einfach. Grüße -- Philipp Gampe – PGP-Key 0AD96065 – TYPO3 UG Bonn/Köln Documentation – Active contributor TYPO3 CMS TYPO3 inspiring people to share! ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Lösung gesucht
Am 12.1.2015 um 00:59 schrieb Christian Leicht: Hallo zusammen, ich versuche schon seit einiger Zeit eine Lösung für eine Problem zu finden. Eigentlich sollte es ganz einfach sein, aber TYPO3 macht es einem da echt nicht leicht. FE_Usern muss ich eigene Dateien zum download anbieten. Ich habe einige hundert FE User die individuelle Dateien zum download bekommen sollen. Z.B. monatlichen Rechnungen und spezielle Dateien die nur der jeweilige User sehen darf. Lege mit dem Extensionbuilder eine Extension UserDownload an, die nur als Resourcen-Platzhalter für die jeweils spezifischen herunterzuladenen Dateien dient. f:uri.resource kann nicht auf die fileadmin-Ordner zugreifen Konvention: Jeder User hat einen eigenen Namen, der nur Dateinamensbildung verwendet wird. Die individuellen Dateien können den Nicknamen, den Namen oder die UID des Users enthalten. Deine Redakteure können also Dateien vom Typ DownloadMeyer.zip oder download457.zip erstellen Vorschlag: Baue den Link für die Download-Dateien mit einer Zeile erst im Fluid zusammen. (Du musst dir nur eine Konvention überlegen, wie du die Dateien systematisch benennst. ) f:if condition{UserNameMeyer}a href={f:uri.resource(path:'EXT:UserDownload/Public/Resources/Data/download{UserName}.zip')} rel=stylesheet /download/a/f:if Nachteil der Lösung: partielle Berechenbarkeit des Dateinamens. Vorteil: Du brauchst nur ein Template. Du brauchst keine erweiterung für die bestehenden Tabellen und kannst sogar prüfen lassen; ob eine Datei existiert. Die Zusatzdateien liegen in einem separaten Verzeichnis, was spätere Automatisierungen erleichtert. Lediglich der Name muss in das Template transportiert werden. Wenn mehrere Dateivarianten vorhanden sind, kannst du diese auch mit einer f:for-Schleife konstruieren lassen. Die Lösungen von Philipp und Christian sind auch gut. Dieter -- Dr. Dieter Porth - Mein kleines TYPO3-Labor: http://www.mobger.de/ ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Lösung gesucht
Hallo zusammen, ich versuche schon seit einiger Zeit eine Lösung für eine Problem zu finden. Eigentlich sollte es ganz einfach sein, aber TYPO3 macht es einem da echt nicht leicht. FE_Usern muss ich eigene Dateien zum download anbieten. Ich habe einige hundert FE User die individuelle Dateien zum download bekommen sollen. Z.B. monatlichen Rechnungen und spezielle Dateien die nur der jeweilige User sehen darf. Hört sich einfach an, ist es aber nicht. Natürlich könnte man jetzt mehrere Hundert individuelle Seiten anlegen und jeden User beim einloggen auf seine Seite weiterleiten, wo dann die Dateien eingebunden sind. Das ist aber nur sehr umständlich zu verwalten. Die Editoren sind damit überfordert. 1. Versuch Also habe ich die fe_user Datenbank um ein FAL Feld erweiter. So kann ich im BE einem FE_User mehrere Files anhängen. Das funktioniert auch gut. Jetzt muss ich aber die Dateien in meiner Extension wieder als Liste ausgeben können. Und da gibt es die Probleme. Wie bekomme ich in einer eigenen Extension die Dateien aufgelistet die in der fe_user Tabelle angelegt sind? Dazu finde ich keine Lösung. Hier im Forum habe ich auch schon mehrfach nachgefragt und kein, oder nur unbrauchbares Feedback bekommen. 2. Versuch In der fe_user Tabelle habe ich nun die Dateien bei den Usern eingetragen. Jetzt habe ich die Extension pt_extlist entdeckt mit der ich SQL Abfragen selbst anlegen kann und das eine Table der Abfrage erstellt. Damit ist es mir aber nicht gelungen die FE_User id so einzubauen das es nur den jeweiligen User ausgibt. Und die Ausgabe kann nur eine HTML Table sein, was mir nicht so passt. Einzelne Felder sind damit nicht einfach anzusprechen. Das idealste wäre man könnte alles in der eigenen Extension lösen. Die erste Variante wäre gut, aber es gibt anscheinend keine Lösung dafür. Ich hab mich schon wund gegoogled und nirgends eine Lösung gefunden. Es gibt zwar schon Extensions die einige Ansätze in diese Richtung haben, aber anscheinend stoßen die Entwickler auch auf die selben Probleme. Könnt Ihr mir bei meinem Problem helfen? Einen Tipp geben? Besten Dank für Hilfe Christian ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Lösung gesucht
Hallo zusammen, ich versuche schon seit einiger Zeit eine Lösung für eine Problem zu finden. Eigentlich sollte es ganz einfach sein, aber TYPO3 macht es einem da echt nicht leicht. FE_Usern muss ich eigene Dateien zum download anbieten. Ich habe einige hundert FE User die individuelle Dateien zum download bekommen sollen. Z.B. monatlichen Rechnungen und spezielle Dateien die nur der jeweilige User sehen darf. Hört sich einfach an, ist es aber nicht. Natürlich könnte man jetzt mehrere Hundert individuelle Seiten anlegen und jeden User beim einloggen auf seine Seite weiterleiten, wo dann die Dateien eingebuden sind. Das ist aber nur sehr umständlich zu verwalten. Die Editoren sind damit überfordert. 1. Versuch Also habe ich die fe_user Datenbank um ein FAL Feld erweiter. So kann ich im BE einem FE_User mehrere Files anhängen. Das funktioniert auch gut. Jetzt muss ich aber die Dateien in meiner Extension wieder als Liste ausgeben können. Und da gibt es die Probleme. Wie bekomme ich in einer eigenen Extension die Dateien aufgelistet die in der fe_user Tabelle angelegt sind? Dazu finde ich keine Lösung. Hier im Forum habe ich auch schon mehrfach nachgefragt und kein, oder nur unbrauchbares Feedback bekommen. 2. Versuch In der fe_user Tabelle habe ich nun die Dateien bei den Usern eingetragen. Jetzt habe ich die Extension pt_extlist entdeckt mit der ich SQL Abfragen selbst anlegen kann und das eine Table der Abfrage erstellt. Damit ist es mir aber nicht gelungen die FE_User id so einzubauen das es nur den jeweiligen User ausgibt. Und die Ausgabe kann nur eine HTML Table sein, was mir nicht so passt. Einzelne Felder sind damit nicht einfach anzusprechen. Das idealste wäre man könnte alles in der eigenen Extension lösen. Die erste Variante wäre gut, aber es gibt anscheinend keine Lösung dafür. Ich hab mich schon wund gegoogled und nirgends eine Lösung gefunden. Es gibt zwar schon Extensions die einige Ansätze in diese Richtung haben, aber anscheinend stoßen die Entwickler auch auf die selben Probleme. Könnt Ihr mir bei meinem Problem helfen? Einen Tipp geben? Besten Dank für Hilfe Christian ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Lösung gesucht
Hi Christian, Christian Leicht wrote: 1. Versuch Also habe ich die fe_user Datenbank um ein FAL Feld erweiter. So kann ich im BE einem FE_User mehrere Files anhängen. Das funktioniert auch gut. Jetzt muss ich aber die Dateien in meiner Extension wieder als Liste ausgeben können. Und da gibt es die Probleme. Wie bekomme ich in einer eigenen Extension die Dateien aufgelistet die in der fe_user Tabelle angelegt sind? Dazu finde ich keine Lösung. Hier im Forum habe ich auch schon mehrfach nachgefragt und kein, oder nur unbrauchbares Feedback bekommen. Per TS kannst du dies mit einem CONTENT cObject machen. Für das eigentliche Rendering nutzt du dann FILES, wie für tt_content auch. Du kannst dir sogar einfach die FILES Definitionen aus tt_content kopieren. Für eine eigene Extension googelst du einfach nach extbase fal: http://wiki.typo3.org/File_Abstraction_Layer#Usage_in_Extbase_.28in_progress.29 Grüße -- Philipp Gampe – PGP-Key 0AD96065 – TYPO3 UG Bonn/Köln Documentation – Active contributor TYPO3 CMS TYPO3 inspiring people to share! ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Lösung gesucht
Hallo Christian, Am 12.01.2015 um 00:59 schrieb Christian Leicht christ...@leicht.info: ... FE_Usern muss ich eigene Dateien zum download anbieten. Ich habe einige hundert FE User die individuelle Dateien zum download bekommen sollen. Z.B. monatlichen Rechnungen und spezielle Dateien die nur der jeweilige User sehen darf. ... 1. Versuch Also habe ich die fe_user Datenbank um ein FAL Feld erweiter. So kann ich im BE einem FE_User mehrere Files anhängen. Das funktioniert auch gut. Jetzt muss ich aber die Dateien in meiner Extension wieder als Liste ausgeben können. Und da gibt es die Probleme. Wie bekomme ich in einer eigenen Extension die Dateien aufgelistet die in der fe_user Tabelle angelegt sind? … Wenn Du die User Tabelle bereits erweitert hast, musst Du im Prinzip in Deinem Controller nur noch das Model des gerade eingeloggten Benutzers laden und an Dein Template übergeben. ungefähr so (ungetestet): ... /** * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository * @inject */ protected $frontendUserRepository; public function meineAction() { if (isset($GLOBALS['TSFE']-fe_user-user['uid'])) { $user = $this-frontendUserRepository-findByUid($GLOBALS['TSFE']-fe_user-user['uid']); $this-view-assign('user', $user); } } … Dann in Deinem Template: ... f:for each={user.deinNeuesFeldAnDerUserTabelle} as=file a href={file.originalResource.publicUrl} {file.originalResource.name} /a /f:for ... Grüße Mirko ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german