[TYPO3-german] DRINGEND! - Nach dem Anpassen einer Extension sind neue Felder im Fluid Template nicht verfügbar

Andrea Schmuttermair abo at schmutt.de
Wed Dec 28 22:38:45 CET 2016


Ja das meinte ich. Das JobRepository bezieht sich ja auf das Job Model,
und nicht auf das JobExtended Model, ergo lädt es auch nur diese Felder.

Man muss dem beibringen auch das richtige Model zu laden.

Einfachster Versuch: in deiner Erweiterungs-Extension eine Datei
JobExtendedRepository.php anlegen, nur die Datei mit einer leeren Klasse:

<?php
namespace Dan\Jobfair\Domain\Repository;
class JobExtendedRepository extends
\TYPO3\CMS\Extbase\Persistence\Repository
{
}

Dann dieses Repository instantiieren und findAll aufrufen. Kann
funktionieren, muss aber nicht. Je nachdem wie schlau die interne Logik
von Extbase ist.

Ansonsten müsste man die Tabellen mappen - hab ich allerdings selber nie
gemacht, bzw. irgendwann aufgegeben weil es nie funktionieren wollte.
Könnt aber schon irgendwie gehen.
https://www.typo3.net/forum/thematik/zeige/thema/118413/
Am besten in der Extbase Mailingliste mal fragen, vielleicht hat das
Problem schon mal jemand gelöst. Oder auf Slack.

Evtl. könnte man noch Extension-Codes durchsuchen wo vorhandene Tabellen
ergänzt werden, es gibt z.B. einige Extensions die news erweitern, wie
die das machen.

Wenn Mapping nicht klappt, würde ich eine Funktion schreiben, die die
Daten aus der von Hand aus der Datenbank lädt und die neuen Felder
befüllt, anstatt die automatischen findAll/findBy Funktionen zu verwenden.

LG Andrea


Am 28.12.2016 um 20:50 schrieb Johannes C. Laxander:
> Meinst du dies:
> 
> Extension:
> class Job extends AbstractEntity {...Felder der Extension...}
> 
> Meine Erweiterung:
> class JobExtended extends Dan\Jobfair\Domain\Model\Job{...neue Felder...}
> 
> TYPO3 Version ist 7.6
> 
> Johannes
> 
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-
>> bounces at lists.typo3.org] Im Auftrag von Andrea Schmuttermair
>> Gesendet: Mittwoch, 28. Dezember 2016 19:49
>>
>> Woran es noch liegen könnte, du schreibst:
>>>> ich habe in einer eigenen Extension das Model einer anderen Extension
>>>> erweitert und dazu auch neue Felder angelegt.
>>
>> Wie genau hast du das gemacht?
>> Evtl. hast du das falsche Objekt geladen, das noch gar nichts von seiner
>> Erweiterung weiß?
>>
>> Hier wäre auch die TYPO3 Version interessant, vielleicht gab es da
>> Änderungen in der Verknüpfung, auch Namespaces könnten eine Rolle
>> spielen da es ja wirklich nur um den Frontend Code geht.
>>
>> LG Andrea
>>
>> Am 28.12.2016 um 19:06 schrieb Johannes C. Laxander:
>>> Danke für deine Antwort Andrea!
>>>
>>> Über das Backend lassen sich Datensätze mit den neuen Feldern anlegen
>>> und bearbeiten. Ich kann auch per TypoScript auf die Felder zugreifen.
>>> Nur die Datensätze in der Objekt-Variablen $jobs beinhalten die Felder
>>> nicht, zumindest lt. Fluid-Debug.
>>>
>>> Alle "Cache"-Tabellen habe ich geleert, und über "Konfiguration" habe
>>> ich das Array $GLOBALS['TCA'] geprüft. Hier sind die Felder in der
>>> "Extension-Tabelle" konfiguriert!
>>> Den Test mit findByUid() muss ich noch machen.
>>>
>>> LG Johannes.
>>>
>>>
>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-
>>>> bounces at lists.typo3.org] Im Auftrag von Andrea Schmuttermair
>>>> Gesendet: Mittwoch, 28. Dezember 2016 18:26
>>>> An: German TYPO3 Userlist <typo3-german at lists.typo3.org>
>>>> Betreff: Re: [TYPO3-german] DRINGEND! - Nach dem Anpassen einer
>>>> Extension sind neue Felder im Fluid Template nicht verfügbar
>>>>
>>>> Hi,
>>>>
>>>> also dann alles checken:
>>>>
>>>> * TCA Record vorhanden? Evtl. Syntaxfehler checken, also mit anderen
>>>> Feldern vergleichen ob überall eingetragen
>>>> * Datenbank checken: alle Tabellen mit "cache" im Namen leeren, und
>>>> dann schauen ob die neuen Felder auch angelegt wurden
>>>> * Backend: einen Record im Backend anlegen mit den neuen Feldern und
>>>> schauen ob speichern/ändern geht
>>>> * Frontend:
>>>> -> Eintrag in der Datenbank mit einer bestimmten UID merken (z.B.
>>>> -> 17),
>>>> dann laden mit:
>>>> $job = $this->jobRepository->findByUid(17);
>>>> und im Fluid mit
>>>> <f:debug>{job}</f:debug>
>>>> ausgeben. Dann die entsprechenden Felder prüfen gegen die Datenbank.
>>>> Oder mit job.feldname mal ausgeben, wobei "feldname" ein neues Feld
>> ist.
>>>>
>>>> Mehr fällt mir dann auch nimmer ein?
>>>>
>>>> LG Andrea
>>>>
>>>> Am 28.12.2016 um 16:42 schrieb Johannes C. Laxander:
>>>>> Hallo,
>>>>>
>>>>> ich habe in einer eigenen Extension das Model einer anderen
>>>>> Extension erweitert und dazu auch neue Felder angelegt. Bisher hat
>>>>> das im Backend und mit der Datenbank einwandfrei funktioniert.
>>>>>
>>>>> Jetzt möchte ich gerade das Fluid-Template anpassen und stelle fest,
>>>>> dass meine neuen Datenfelder nicht ausgegeben werden. Über den
>>>>> Controller werden die Daten mit "$jobs =
>>> $this->jobRepository->findAll();"
>>>> bereitgestellt.
>>>>> Wenn ich im Fluid-Template debugge, fehlen aber meine neu
>> angelegten
>>>> Felder.
>>>>>
>>>>> Was kann die Ursache dafür sein?
>>>>>
>>>>> Gruß, Johannes.
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> TYPO3-german at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>>
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 


More information about the TYPO3-german mailing list