[Frage] femanager - Fatal error - Mit femanagerextended und twitterID im Benutzerprofil [Gelöst] TYPO3-Version: 6.1.1

  • helmutwinkelbach helmutwin...
    Padawan
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    07. 11. 2013, 18:35

    Mit femanagerextended und twitterID im Benutzerprofil
    Fatal error: Cannot redeclare class In2\Femanagerextended\Domain\Model\User in ... typo3conf/ext/femanagerextended/Classes/Domain/Model/User.php on line 4

    Mit femanagerextended OHNE twitterID im Benutzerprofil
    Bei Benutzerliste
    Fatal error: Cannot redeclare class In2\Femanagerextended\Domain\Model\User in ... typo3conf/ext/femanagerextended/Classes/Domain/Model/User.php on line 4

  • helmutwinkelbach helmutwin...
    Padawan
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    07. 12. 2013, 12:58 - Lösung

    Problem gelößt, :)
    in der Zeile im Setup war der Fehler: ohne User, nur Domain\Repository

    1. [config.tx_extbase{
    2. objects
    3. In2\Femanager\Domain\Repository\UserRepository.className = In2\Femanagerextended\Domain\Repository\UserRepository
    4. }
    5. }

    Danke für eure Hilfe.

  • Hilfreichster Beitrag

  • einpraegsam.net einpraegs...
    MacGyver
    1 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    10. 11. 2013, 20:33 - Hilfreichster Beitrag

    Also ich habe jetzt nochmal viel Zeit investiert, kann aber den genannten Fehler nicht nachstellen.

    Weder mit femanager 1.0.8 noch mit femanager 1.0.10 gibt es ein Problem, wenn ich mit femanagerextended die beiden Beispielfelder TwitterId und SkypeId hinzufüge

    Hier mal der Link (wird nur kurz unverändert dort zur Verfügung stehen):
    http://powermailt361.in2code.de/index.php?id=17

    Was habe ich gemacht:
    [b]1.[/b] femanager 1.0.8 (aktuelle Version aus dem TER) installiert auf TYPO3 6.1.5
    [b]2.[/b] BE Cache geleert
    [b]3.[/b] femanagerextended installiert (ZIP File befindet sich im Repository http://forge.typo3.org/projects/extension-femanager/repository/revisions/master/raw/Resources/Private/Software/femanagerextended_0.1.0.zip)
    [b]4.[/b] Im TSconfig der Seite noch die beiden neuen Felder hinzugefügt

    1. tx_femanager {
    2. flexForm {
    3. new {
    4. addFieldOptions {
    5. twitterId = Twitter ID
    6. skypeId = Skype ID
    7. }
    8. }
    9. edit < tx_femanager.flexForm.new
    10. }
    11. }

    [b]5.[/b] Im Flexform eingestellt dass Registrierung und Bearbeitung mit den beiden neuen Feldern sein soll
    [b]6.[/b] TypoScript Constants - neuer Pfad für Partials
    1. plugin.tx_femanager.view.partialRootPath = fileadmin/femanager/Partials/

    [b]7.[/b] Partials von femanager nach fileadmin/femanager/ kopiert und zwei neue Partials hinzugefügt
    1. # shell im Root der Installation
    2. mkdir fileadmin/femanager
    3. cp typo3conf/ext/femanager/Resources/Private/Partials/ fileadmin/femanager/Partials/ -Rf
    4. cp fileadmin/femanager/Partials/Fields/Name.html fileadmin/femanager/Partials/Fields/TwitterId.html
    5. cp fileadmin/femanager/Partials/Fields/Name.html fileadmin/femanager/Partials/Fields/SkypeId.html

    [b]8.[/b] In den beiden neuen Partials (TwitterId.html und SkypeId.html) den Wert bei Properties angepasst mit "twitterId" bzw. "skypeId"
    [b]9.[/b] Neuen Benutzer registriert - klappt einwandfrei
    [b]10.[/b] femanager von 1.0.8 auf 1.0.10 erhöht (Version gibt es bereits im Branch unter http://forge.typo3.org/projects/extension-femanager/repository/revisions/1.0.10/show)
    [b]11.[/b] Cache geleert - Registrierung klappt immer noch einwandfrei

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/


  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    08. 11. 2013, 10:14

    Hallo,

    ich brauche noch ein paar mehr Informationen um helfen zu können.
    Welche TYPO3-Version?
    Hast du femanagerextended selber erstellt (z.B. nach Anleitung im Handbuch) oder die Extension heruntergeladen und verwendet?

    Alex

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • helmutwinkelbach helmutwin...
    Padawan
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2013, 18:27

    Hallo Alex,

    TYPO3 v. 6.1.5

    ich habe den femanagerextended nur heruntergeladen und verwendet.

    Helmut

    P.S. Das könnte noch an von mir veränderten Dateien am Original von FeManager liegen.
    Erwarte die Vorabversion von 1.0.10

  • einpraegsam.net einpraegs...
    MacGyver
    1 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    10. 11. 2013, 20:33

    Also ich habe jetzt nochmal viel Zeit investiert, kann aber den genannten Fehler nicht nachstellen.

    Weder mit femanager 1.0.8 noch mit femanager 1.0.10 gibt es ein Problem, wenn ich mit femanagerextended die beiden Beispielfelder TwitterId und SkypeId hinzufüge

    Hier mal der Link (wird nur kurz unverändert dort zur Verfügung stehen):
    http://powermailt361.in2code.de/index.php?id=17

    Was habe ich gemacht:
    [b]1.[/b] femanager 1.0.8 (aktuelle Version aus dem TER) installiert auf TYPO3 6.1.5
    [b]2.[/b] BE Cache geleert
    [b]3.[/b] femanagerextended installiert (ZIP File befindet sich im Repository http://forge.typo3.org/projects/extension-femanager/repository/revisions/master/raw/Resources/Private/Software/femanagerextended_0.1.0.zip)
    [b]4.[/b] Im TSconfig der Seite noch die beiden neuen Felder hinzugefügt

    1. tx_femanager {
    2. flexForm {
    3. new {
    4. addFieldOptions {
    5. twitterId = Twitter ID
    6. skypeId = Skype ID
    7. }
    8. }
    9. edit < tx_femanager.flexForm.new
    10. }
    11. }

    [b]5.[/b] Im Flexform eingestellt dass Registrierung und Bearbeitung mit den beiden neuen Feldern sein soll
    [b]6.[/b] TypoScript Constants - neuer Pfad für Partials
    1. plugin.tx_femanager.view.partialRootPath = fileadmin/femanager/Partials/

    [b]7.[/b] Partials von femanager nach fileadmin/femanager/ kopiert und zwei neue Partials hinzugefügt
    1. # shell im Root der Installation
    2. mkdir fileadmin/femanager
    3. cp typo3conf/ext/femanager/Resources/Private/Partials/ fileadmin/femanager/Partials/ -Rf
    4. cp fileadmin/femanager/Partials/Fields/Name.html fileadmin/femanager/Partials/Fields/TwitterId.html
    5. cp fileadmin/femanager/Partials/Fields/Name.html fileadmin/femanager/Partials/Fields/SkypeId.html

    [b]8.[/b] In den beiden neuen Partials (TwitterId.html und SkypeId.html) den Wert bei Properties angepasst mit "twitterId" bzw. "skypeId"
    [b]9.[/b] Neuen Benutzer registriert - klappt einwandfrei
    [b]10.[/b] femanager von 1.0.8 auf 1.0.10 erhöht (Version gibt es bereits im Branch unter http://forge.typo3.org/projects/extension-femanager/repository/revisions/1.0.10/show)
    [b]11.[/b] Cache geleert - Registrierung klappt immer noch einwandfrei

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • helmutwinkelbach helmutwin...
    Padawan
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    14. 11. 2013, 12:27

    Hallo Alex,

    Danke für die Anleitung, habe alles neu installiert und es geht wie du es beschreibst.

    [b]Nun versuche ich weitere Felder zu erstellen und habe dabei folgende Dateien ergänzt oder neu erstellt:[/b]

    /fileadmin/Resources/Private/Templates/User/
    List.html
    Show.html

    /fileadmin/Resources/Private/Templates/Edit/
    Edit.html

    /fileadmin/Resources/Private/Templates/New/
    New.html

    /fileadmin/Resources/Private/Partials/Fields/
    Taetigkeit.html
    und andere

    typo3conf/ext/femanagerextended/
    ext_tables.php
    ext_tables.sql

    /typo3conf/ext/femanagerextended/Resources/Private/Language/
    locallang.xlf
    locallang_db.xlf
    de.locallang.xlf
    de.locallang_db.xlf
    locallang_csh_fe_users.xlf

    typo3conf/ext/femanagerextended/Classes/Domain/Model/
    User.php

    Nun habe ich folgendes festgestellt:

    1. werden obwohl bei /fileadmin/Resources/Private/Templates/User/Show.html <f:translate key="tx_femanagerextended_domain_model_user.schwerpunkt" /> steht, wird nicht der Name angezeigt.
    Aber wenn ich die Info der Sprach Dateien aus /typo3conf/ext/femanagerextended/Resources/Private/Language/ in die Sprach Dateien typo3conf/ext/femanager/Resources/Private/Language/ kopiere werden diese Angezeigt.

    2. Im Profil ändern, bekomme ich nicht den Namen angezeigt.

    3. Im Profil ändern, bekomme ich wenn ich den ändern Button anklicke folgenden Fehler:

    Fatal error: Uncaught exception 'TYPO3\CMS\Extbase\Persistence\Generic\Storage\Exception\SqlErrorException' with message 'Unknown column 'beratung' in 'field list': UPDATE fe_users SET beratung='5678', schwerpunkt='1234', tstamp='1384426745', tx_extbase_type='0' WHERE uid='5'' in /kunden/174878_70794/rp-hosting/5712/6712/typo3cms/typo3_src-6.1.5/typo3/sysext/extbase/Classes/Persistence/Generic/Storage/Typo3DbBackend.php:1253 Stack trace: #0 /kunden/174878_70794/rp-hosting/5712/6712/typo3cms/typo3_src-6.1.5/typo3/sysext/extbase/Classes/Persistence/Generic/Storage/Typo3DbBackend.php(204): TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbBackend->checkSqlErrors('UPDATE fe_users...') #1 /kunden/174878_70794/rp-hosting/5712/6712/typo3cms/typo3_src-6.1.5/typo3/sysext/extbase/Classes/Persistence/Generic/Backend.php(872): TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbBackend->updateRow('fe_users', Array) #2 /kunden/174878_70794/rp-hosting/5712/6712/typo3cms/typo3_src-6.1.5/typo3/sysext/extbase/Classes/Persistence/Gener in /kunden/174878_70794/rp-hosting/5712/6712/typo3cms/typo3_src-6.1.5/typo3/sysext/extbase/Classes/Persistence/Generic/Storage/Typo3DbBackend.php on line 1253

    TypoScript aus der Anleitung to include Model and override default controller
    und
    TypoScript to enable new validation and set labels
    und
    Override Validation Classes with TypoScript
    steht im Setup der Rootpage.

    Die sonst benötigten Dateien müßten in der Kopie des ZIP files richtig sein.

    [b]Ich habe alles ein dutzend mal geprüft, komme leider nicht weiter.[/b]
    [b][/b]
    Folgendes habe ich nicht eingebaut, ist mir noch unklar:
    TypoScript to enable new validation and set labels
    plugin.tx_femanager {
    settings.new.validation {
    _enable.client = 1
    _enable.server = 1
    username {
    # Custom Validator - check if value includes "abc"
    custom = abc
    }
    }
    _LOCAL_LANG {
    default.validationErrorCustom = "abc" is missing
    de.validationErrorCustom = "abc" wird erwartet
    }
    }

  • helmutwinkelbach helmutwin...
    Padawan
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    14. 11. 2013, 22:54

    Hallo,

    [b]es gibt eine Erfolgsmeldung!!![/b]
    [b][/b]
    Ich hatte vergessen einen Datenbank COMPARE zu machen um die neuen Tabellen hinzuzufügen.

    Also der Fatal error ist verständlicherweise verschwunden.

    Gruß
    Helmut

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    15. 11. 2013, 17:03

    sehr gut!

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • helmutwinkelbach helmutwin...
    Padawan
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    15. 11. 2013, 21:37

    Hallo Alex,

    Also es klappt jetzt schon ganz gut, offen sind noch folgende Fragen:

    1. werden obwohl bei /fileadmin/Resources/Private/Templates/User/Show.html <f:translate key="tx_femanagerextended_domain_model_user...." /> steht, wird nicht der Name angezeigt.
    Aber wenn ich die Info der Sprach Dateien aus /typo3conf/ext/femanagerextended/Resources/Private/Language/ in die Sprach Dateien typo3conf/ext/femanager/Resources/Private/Language/ kopiere werden diese Angezeigt.

    [b]Woran kann das liegen?[/b]
    [b][/b]

    2. Geht die Suche nicht bei den femanagerextended zugefügten Feldern. (Diese Felder sind auch nicht im Backend in den User Feldern, ist eigentlich dort nicht so wichtig.)

    [b]Wäre das machbar mit der Suche für die im femanagerextended zugefügten Felder?[/b]
    [b][/b]

    Gruß
    Helmut

  • einpraegsam.net einpraegs...
    MacGyver
    1 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    18. 11. 2013, 14:48

    1. Wenn im Partial z.B. <f:translate key="twitterId" /> als Label angegeben ist, kann man das über TypoScript einfach befüllen

    1. plugin.tx_femanager {
    2. _LOCAL_LANG {
    3. default.twitterId = Your Twitter ID
    4. de.twitterId = Dein Twitter Name
    5. }
    6. }

    2. Das funktioniert leider nicht automatisch. Wenn du von dem Suchfeld im Frontend sprichst, ist die Methode findByUsergroups() in der Datei Classes/Domain/Repository/UserRepository.php zuständig.
    Hier werden in Zeile 81 bis Zeile 97 alle angegebenen Felder durchiteriert. Will man die Suche so erweitern, dass auch individuelle, neue Felder durchsucht werden, muss man die Klasse um eine Unterklasse erweitern und diese Methode überladen.

    1. config.tx_extbase{
    2. objects {
    3. In2\Femanager\Domain\Repository\UserRepository.className = Neuer\Klassenname\UserRepository
    4. }
    5. }

    1. <?php
    2. namespace Neuer\Klassenname;
    3. class UserRepository extends \In2\Femanager\Domain\Repository\UserRepository {
    4. public function findByUsergroups($userGroupList, $settings, $filter) {
    5. // Hier die eigene Funktion reinschreiben
    6. }
    7. }

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • helmutwinkelbach helmutwin...
    Padawan
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    19. 11. 2013, 16:49

    Hallo Alex,

    vielen Dank für die klaren Antworten. :)

    [b]Mit folgendem im Setup[/b]
    [config.tx_extbase{
    objects {
    In2\Femanager\Domain\Repository\UserRepository.className = In2\Femanagerextended\Domain\UserRepository\UserRepository
    }
    }

    [b]Und dem File UserRepository.php[/b]
    im Ordner
    femanagerextended\Domain\UserRepository\

    [b]Bekomme ich folgenden[/b]
    [b]Fatal error[/b]: Uncaught exception 'TYPO3\CMS\Extbase\Object\Container\Exception\UnknownObjectException' with message '[b]Could not analyse class:In2\Femanagerextended\Domain\UserRepository\UserRepository[/b] maybe not loaded or no autoloader?' in /.../typo3_src-6.1.5/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php...

    [b]Alex, kannst du dir bitte einmal die Datei UserRepository.txt im Anhang ansehen?[/b]

    Danke
    Helmut

    Anhänge (1)
    UserRepository.txt text/x-php 0,00 B 349 heruntergeladen