Uwaga! Od sierpnia 2017 forum jest w trybie tylko do odczytu.

Dlaczego? Dlatego, że społeczność TYPO3 przeniosła się na slack'a i stackoverflow:
  • Przeczytaj artykuł wprowadzający do slacka, w którym dowiesz gdzie i jak się zarejestrować.
  • Jeżeli masz pytania odnośnie Polskiej Społeczności TYPO3 zapraszamy na kanał slack'a #community-pl. Rozmawiamy tam w języku polskim.
  • Pytania dotyczące samego TYPO3 zadawaj po angielsku na stackoverflow oznaczając je tagiem "typo3". Następnie posługując się linkiem do tego pytania postaraj się zachęcić ludzi z kanału slack'a #typo3-cms lub bardziej pasujących kanałów tematycznych, żeby na nie odpowiedzieli.
  • Możesz też oczywiście zadawać pytania na slacku bez zakładania wątków na stackoverflow, ale wówczas wiedza ta nie jest indeksowana przez googla i część osób nie będzie chciała Ci z tego powodu pomagać.
  • Dla części osób dzielących się wiedzą ważne jest też budowanie reputacji na stackoverflow. Jest to kolejny powód dla którego powinieneś zadawać pytania na stackoverflow by zwiększyć swoje szanse na znalezienie odpowiedzi. Pamiętaj, żeby oceniać odpowiedzi!
Tematy bez nowych odpowiedzi

ExtBuilder - problem z extension fe_user


Autor Wiadomość
Napisane: 01.12.2016 [16:21]
alideo
Twórca tematu
zarejestrowany: 01.12.2016
Posty: 2
Witam.

Mam problem typo3 7.6, utworzyłem obiekt Profile, w którym ustawiłem mapowanie po tabeli fe_users ze wskazaniem że rozszerzam model \TYPO3\CMS\Extbase\Domain\Model\FrontendUser

Jeżeli w ProfileController wywołam $this->profileRepository->findAll() to zwraca mi obiekt pusty
HTML
TYPO3\CMS\Extbase\Persistence\Generic\QueryResult prototype  object (empty)

mimo że tabela fe_users nie jest pusta. Pytanie gdzie jest błąd?

Poniżej fragmenty kodu:

ProfileController.php
PHP
* @var \My\ExampleProfile\Domain\Repository\ProfileRepository
     * @inject
     */
    protected $profileRepository = NULL;


ProfileRepository.php
PHP
class ProfileRepository extends \TYPO3\CMS\Extbase\Persistence\Repository


Model Profile.php
PHP
class Profile extends \TYPO3\CMS\Extbase\Domain\Model\FrontendUser


ext_typoscript_setup.php
TYPOSCRIPT
config.tx_extbase{
    persistence{
        classes{
            TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
                subclasses {
                    Tx_ExampleProfile_Profile = My\ExampleProfile\Domain\Model\Profile
 
          		}
            }
            My\ExampleProfile\Domain\Model\Profile {
                mapping {
                    tableName = fe_users
                    recordType = Tx_ExampleProfile_Profile
                }
            }
    	}
    }
}
Napisane: 02.12.2016 [09:24]
alideo
Twórca tematu
zarejestrowany: 01.12.2016
Posty: 2
Gdyby ktoś potrzebował.

Problem jest w tym, że w akcji kontrolera jak wywołujemy findAll() to w SQL dodaje do sprawdzanie czy fe_users jest przypisany do aktualnej strony pid. Oczywiste jest, że nie jest więc obiekt jest pusty.

Druga kwestia dotyczy tego, że wymaga aby użytkownik był przypisany do rozszerzenia z którego pobieramy dane tx_extbase_type

Wiec aby wyciągać dane trzeba spreparować SQL, nie wiem jak jest z zapisem bo nie sprawdzałem jeszcze.