[TYPO3-UG Freiburg] Domain-Model erweitern von tt_address 4.0 Beta

elena at kuprienko.de elena at kuprienko.de
Tue Nov 14 08:50:27 CET 2017


Nachtrag: eins hatte ich vergessen zu erwähnen. In der ext_tables.php 
habe ich noch die TS Konfiguration ergänzt. Du musst dann bei dir im 
Backend das TS von ttaddress_rtefield inkludieren. Aber das hast du 
vielleicht schon über den TS-Object-Browser gesehen, dass das mapping 
nicht da ist. Müsstest die 
config.tx_extbase.objects.TYPO3\TtAddress\Domain\Model\Address und 
config.tx_extbase.persistence.classes.Turn3\TtaddressRtefield\Domain\Model\TtaddressRtefield 
sehen.

Am 14.11.17 um 01:31 schrieb elena at kuprienko.de:
> Heiko, ich habe mir deine angehängte Erweiterung angeschaut und an 
> diversen Stellen Unstimmigkeiten festgestellt.
>
> Groß- und Kleinschreibung muss beachtet werden, z.B. Camel case in 
> namespaces habe ich geändert. Zuweisung im mapper hat noch nicht 
> gestimmt und du hattest eine Stelle auskommentiert. In der Datei 
> ext_emconf.php brauchst du wahrscheinlich den auskommentierten Teil 
> für autoload der Klasse, wenn du keinen Composer verwendest. Für 
> Composer habe ich eine composer.json mit entsprechendem autoload 
> angefügt.
>
> Die überarbeitete Version habe ich bei mir auf GitHub abgelegt. Schau 
> mal, my litte example how to extend table tt_address 4 (Extbased & 
> Fluid Version) https://github.com/kuprienko/ttaddress_rtefield :D
>
> Getestet habe ich bei mir auf einem TYPO3 CMS Version 8 (composer) und 
> konnte das neue Feld ausgeben :)
>
> Viele Grüße,
> Elena
>
> Am 13.11.17 um 21:56 schrieb Heiko Hänsge:
>> Danke dir Mikel!
>>
>> Werd's morgen mal versuchen. :-)
>>
>> Viele Grüße
>> Heiko
>>
>> Fon: +49 761 7048880
>>
>> ANSCHRIFT:
>> Heiko Hänsge
>> Waldstr. 31
>> 79194 Gundelfingen
>>
>>
>> Mikel schrieb am 13.11.2017 um 18:21:
>>> Mach das doch etwas generischer. Falls du mal noch weitere Felder 
>>> brauchst.
>>> In Elena’s Beispiel steht eigentlich alles drin.
>>>
>>> Lege eine neue Extension an, z.B. tt_address_advanced.
>>>
>>> Darin dann:
>>>
>>> ext_tables.sql
>>>
>>> #
>>> # Table structure for table 'tt_address'
>>> #
>>> CREATE TABLE tt_address (
>>>      additional_content text,
>>> )
>>>
>>> In Classes/Domain/Model/Address.php dann
>>>
>>> <?php
>>> namespace Conversion\TtAddressAdvanced\Domain\Model;
>>>
>>> class Address extends \TYPO3\TtAddress\Domain\Model\Address {
>>>
>>>
>>>     /**
>>>      * @var string
>>>      */
>>>     protected $additionalContent;
>>>
>>>     /**
>>>      * Get title
>>>      *
>>>      * @return string
>>>      */
>>>     public function getAdditionalContent()
>>>     {
>>>        return $this->additionalContent;
>>>     }
>>>
>>>     /**
>>>      * Set title
>>>      *
>>>      * @param string $additionalContent
>>>      * @return void
>>>      */
>>>     public function setAdditionalContent($additionalContent)
>>>     {
>>>        $this->additionalContent = $additionalContent;
>>>     }
>>> }
>>> Dann erweiterst Du das TCA vom original Address Datensatz:
>>>
>>> Configuration/TCA/Overrides/tt_address.php
>>>
>>> <?php
>>> defined('TYPO3_MODE') or die();
>>> $temporaryColumns = [
>>>     'additional_content' => [
>>>        'exclude' => true,
>>>        'label' => 'Additional Content',
>>>        'config' => [
>>>           'type' => 'text',
>>>           'cols' => 40,
>>>           'rows' => 15,
>>>           'eval' => 'trim',
>>>        ],
>>>        'defaultExtras' => 'richtext:rte_transform'
>>>     ],
>>> ];
>>> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
>>>     'tt_address',
>>>     $temporaryColumns
>>> );
>>> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
>>>     'tt_address',
>>>     'additional_content',
>>>     '',
>>>     'after:title'
>>> );
>>>
>>> Dann konfigurierst Du noch das Extbase-Mapping. Hierzu im TS-Setup:
>>>
>>> config.tx_extbase {
>>>     persistence {
>>>        classes {
>>>           Conversion\TtAddressAdvanced\Domain\Model\Address {
>>>              mapping {
>>>                 tableName = tt_address
>>>                 recordType =
>>>              }
>>>           }
>>>        }
>>>     }
>>>     objects {
>>>        TYPO3\TtAddress\Domain\Model\Address.className = 
>>> Conversion\TtAddressAdvanced\Domain\Model\Address
>>>     }
>>> }
>>>
>>> Nun kannst Du im Template per address.additionalContent auf die 
>>> Variable zugreifen.
>>>
>>> Mikel
>>>
>>>
>>>
>>>> Am 13.11.2017 um 15:20 schrieb Heiko Hänsge 
>>>> <mailinglisten at wild-wild-web.de>:
>>>>
>>>> Hallo Mikel & Elena,
>>>>
>>>> Danke für die Tipps. Den Artikel von Lukas Jakob hatte ich schon 
>>>> gefunden, aber ich fürchte, das übersteigt einfach meine 
>>>> Fähigkeiten der Ext.-Programmierung... :-/
>>>>
>>>> Der derzeitige Stand - der wg. einer 'Kleinigkeit' noch nicht 
>>>> funktioniert - ist im Github zu finden:
>>>> https://github.com/BastianBalthasarBux/tt_address/issues/7
>>>>
>>>> Im TS-Setup hab ich allerdings noch nichts gemappt; keine Ahnung, 
>>>> wie das gehen soll.
>>>>
>>>> Viele Grüße
>>>> Heiko
>>>>
>>>> Fon: +49 761 7048880
>>>>
>>>> ANSCHRIFT:
>>>> Heiko Hänsge
>>>> Waldstr. 31
>>>> 79194 Gundelfingen
>>>>
>>>>
>>>> elena at kuprienko.de schrieb am 13.11.2017 um 13:19:
>>>>> Hallo Heiko,
>>>>>
>>>>> vielleicht hilft dir noch ein Beispiel aus der cart-Erweiterung: 
>>>>> https://github.com/extcode/cart_extended_product
>>>>>
>>>>> Das funktioniert immer ähnlich. Wenn du also schon eine 
>>>>> Erweiterung hast, legt du eine php-Datei an z.B. 
>>>>> Classes/Domain/Model/Address.php. In dieser Datei definierst du 
>>>>> dein namespace, sowas wie 
>>>>> Heiko\TtAddressExtendedField\Domain\Model 
>>>>> (Heiko\TtAddressExtednedField dann entsprechend anpassen). Dann 
>>>>> brauchst du noch die Klasse z.B. class Address extends 
>>>>> TYPO3\TtAddress\Domain\Model und hier getter und setter wie im 
>>>>> Beispiel eingeben - das siehst du ja dann in der 
>>>>> tt_address-Erweiterung, wie das bei den anderen Feldern gemacht 
>>>>> wird. Dann im TS-Setup die persistence mappen. Wenn du composer 
>>>>> verwendest noch autoload psr-4 einfügen.
>>>>>
>>>>> Viel Erfolg und Grüße,
>>>>> Elena
>>>>>
>>>>> Am 13.11.17 um 12:39 schrieb Mikel:
>>>>>> Hallo Heiko,
>>>>>>
>>>>>> schau Dir das mal an —> 
>>>>>> http://www.lukasjakob.com/extend-a-typo3-extbase-model-with-custom-field/ 
>>>>>> <http://www.lukasjakob.com/extend-a-typo3-extbase-model-with-custom-field/> 
>>>>>>
>>>>>> Vielleicht hilft Dir das weiter.
>>>>>>
>>>>>> Mikel
>>>>>>
>>>>>>
>>>>>>> Am 13.11.2017 um 12:20 schrieb Heiko Hänsge 
>>>>>>> <mailinglisten at wild-wild-web.de>:
>>>>>>>
>>>>>>> Hallo,
>>>>>>>
>>>>>>> ich experimentiere gerade mit der seit einiger Zeit in den 
>>>>>>> Startlöchern stehenden Version 4.0 der Extension tt_address':
>>>>>>>
>>>>>>> https://github.com/BastianBalthasarBux/tt_address/
>>>>>>>
>>>>>>> Endlich stehen Listen- und Detailansichten mit Fluid-Templates 
>>>>>>> zur Verfügung,
>>>>>>> eine Kartenansicht inkl. Geocoding ist in Vorbereitung.
>>>>>>>
>>>>>>> Um ein tt_address-Feld, das über eine eigene Extensions 
>>>>>>> hinzugefügt wurde, ausgeben zu können, muss das Domain-Model 
>>>>>>> erweitert werden.
>>>>>>> Das übersteigt allerdings meine Kenntnisse.
>>>>>>>
>>>>>>> Kann da jemand - auch bezahlt - Hilfestellung leisten?
>>>>>>>
>>>>>>> Viele Grüße
>>>>>>> Heiko
>>>>>>>
>>>>>>> Fon: +49 761 7048880
>>>>>>>
>>>>>>> ANSCHRIFT:
>>>>>>> Heiko Hänsge
>>>>>>> Waldstr. 31
>>>>>>> 79194 Gundelfingen
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> TYPO3-UG-Freiburg mailing list
>>>>>>> TYPO3-UG-Freiburg at lists.typo3.org
>>>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-freiburg
>>>>>> _______________________________________________
>>>>>> TYPO3-UG-Freiburg mailing list
>>>>>> TYPO3-UG-Freiburg at lists.typo3.org
>>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-freiburg
>>>> _______________________________________________
>>>> TYPO3-UG-Freiburg mailing list
>>>> TYPO3-UG-Freiburg at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-freiburg
>>> _______________________________________________
>>> TYPO3-UG-Freiburg mailing list
>>> TYPO3-UG-Freiburg at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-freiburg
>>
>> _______________________________________________
>> TYPO3-UG-Freiburg mailing list
>> TYPO3-UG-Freiburg at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-freiburg
>

-- 
Mit freundlichen Grüßen,
Elena Kuprienko
-------------------------------------------------------------

Elena Kuprienko
Riegeler Str. 2
79111 Freiburg

Mob +49 157 74737369
Web http://www.kuprienko.de
-------------------------------------------------------------



More information about the TYPO3-UG-Freiburg mailing list