[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 23:41:11 CET 2016


Wie gesagt, erst mal probieren ob es nicht auch automatisch geht:

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 anstatt dem jobRepository und
findAll aufrufen.

Mit etwas Glück läufts dann schon, in der 7.6 wurde ja einiges verbessert.

LG Andrea

Am 28.12.2016 um 23:32 schrieb Johannes C. Laxander:
> 
> Uff, das hört sich nach Arbeit an - das habe ich total unterschätzt.
> Auf jeden Fall danke für deine ausführlichen Erklärungen.
> Jetzt muss ich mich erst mal orientieren und schauen wie ich das Problem
> dann schlussendlich löse.
> 
> 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 22:39
>> 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
>>
>> 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
>>>
>> _______________________________________________
>> 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