[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