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

Heiko Hänsge mailinglisten at wild-wild-web.de
Tue Nov 14 09:48:12 CET 2017


Hallo Elena!

Wow! Ich bin begeistert! Vielen Dank! Es funktioniert.
Darf ich dir eine Flasche Roten zukommen lassen?

Ich hab noch einen Hinweis in die Readme bzgl. der Ausgabe im 
Fluid-Template angefügt,
für solche begriffsstutzigen Integratoren wie mich...
und einen Verweis auf deine Extension bei tt_address:
https://github.com/BastianBalthasarBux/tt_address/issues/7#issuecomment-344184443

Liebe Grüße
Heiko

P.S. Und vielen Dank natürlich auch an dich, Mikel!

Fon: +49 761 7048880

ANSCHRIFT:
Heiko Hänsge
Waldstr. 31
79194 Gundelfingen


elena at kuprienko.de schrieb am 14.11.2017 um 08:50:
> 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
>>
>



More information about the TYPO3-UG-Freiburg mailing list