HOW-TO: Eigene Felder in tt_products 2.5.0 definieren [Gelöst]


  • 0 x
    07. 09. 2006, 09:11

    So ging es bei mir:

    1.) Alte Version sichern !

    2.) neues Feld 'meinFeldname' per Kickstarter erstellen oder direkt in der DB anlegen

    3.) in der tca.php:

    1. 'meinFeld' => Array (
    2. 'exclude' => 1,
    3. 'label' => 'LLL:EXT:lang/locallang_db.xml:tt_products.meinFeld',
    4. 'config' => Array (
    5. 'type' => 'input',
    6. 'size' => '40',
    7. 'max' => '256'
    8. )
    9. ),

    einfügen.

    4.) in der tca.php oben einfügen:

    1. $TCA['tt_products'] = Array (
    2. 'ctrl' => $TCA['tt_products']['ctrl'],
    3. 'interface' => Array (
    4. 'showRecordFieldList' => 'hidden,starttime,endtime,fe_group,title,subtitle,...,meinFeld'

    und weiter unten im tt_products-Array noch vor '$TCA['tt_products_language'] = Array (...' ändern

    1. 'types' => Array (
    2. '0' => Array('showitem' => 'title;;5;;3-3-3, itemnumber;;3, category, price;;4,weight;;6, note;;;richtext[]:rte_transform[mode=ts_css|imgpath=uploads/tx_ttproducts/rte/], note2;;;richtext[]:rte_transform[mode=ts_css|imgpath=uploads/tx_ttproducts/rte/],image;;;;4-4-4,datasheet,;;;;1-1-1,hidden;;1,' .
    3. '--div--;LLL:EXT:tt_products/locallang_db.xml:tt_products.variants,color,size,gradings;;7,description,additional,'.
    4. '--div--;LLL:EXT:tt_products/locallang_db.xml:tt_products.relations,prod_uid,related_uid,'.
    5. '--div--;LLL:EXT:tt_products/locallang_db.xml:tt_products.shippingdiv,shipping,shipping2,handling,meinFeld')

    5.) in der locallang_db.xml einfügen:
    [HTML]<label index="tt_products">Products</label>
    ...
    <label index="tt_products.meinFeld">meinFeld Beschreibung</label>
    ...
    [/HTML]

    6. ) in der class.tx_ttproducts_article_base.php die Funktion: function getItemMarkerArray (&$item, &$markerArray, ...) suchen und dann nach
    z. B.
    $markerArray['###PRICE2_NO_TAX###'] = $price2NoTax; einfügen

    1. $markerArray['###MEINFELD###'] = $row['meinFeldname'];

    7.) Speichern!

    8. )Cache löschen!

    9.) Einträge in der Datenbank für 'meinFeldname' vornehmen.

    10.) Den neuen Marker ###MEINFELD### im <!-- ###ITEM_SINGLE_DISPLAY### --> Bereich des Templates einfügen

    Damit lief es bei mir unter tt_products 2.5.0

    Im SINGLE-Display wird der Marker für das neue Feld damit ersetzt (zumindest bei mir).

    Hoffe es hilft.

    Wäre schön wenn nun jemand beschreibt wie das auch in der LIST-Ansicht geht, da bin ich nämlich noch nicht weiter.

    Gruß und viel Erfolg,

    Stefan

  • icy icy
    Sternenflotten-Admiral
    0 x
    169 Beiträge
    0 Hilfreiche Beiträge
    02. 07. 2009, 18:48 - Lösung

    Wie funktioniert das eigentlich in einer eigenen Extension? die Datenbankfelder habe ich angelegt, lassen sich im Backend auch befüllen, nur die entsprechenden Marker lassen sich nicht nutzen.
    Ich habe dazu versucht, den hook getItemMarkerArray zu nutzen, der in der Konfiguration auch angemeldet zu sein scheint...

    Gruß, Icy


  • 1
  • nagus nagus
    Sternenflotten-Admiral
    0 x
    240 Beiträge
    0 Hilfreiche Beiträge
    08. 12. 2007, 20:47

    hallo!

    ich wollte deine methode für die erweiterung der varianten verwenden... will aber leider nicht so ganz :(

    könnte mir bitte jemand behilflich sein beim erweitern der varianten? (also außer farbe und größe... z.b. schriftfarbe, schriftart, schriftposition, etc... )

    vielen dank im voraus!

  • lous lous
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    10. 06. 2009, 20:48

    Also ich hoffe man darf hier noch posten ;D

    Und zwar wollte ich wissen, wie man die custom felder in der listen ansicht anzeigen lassen kann?
    Bisher gehts ja nur in der single ansicht.

    Wäre über jede Hilfe dankbar

    besten gruss :D

  • torkel torkel
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    22. 06. 2009, 07:06

    Hallo

    ich habe genau das gleiche Problem wie lous. Ich habe mir in der Tabelle tt_products ein paar Felder erweitert und nun habe ich das Prolbem mit dem Marker.

    In der Detail-View funktioniert es wunderbar, aber in der ListView werden mir die Werte einfach nicht angezeigt.

    kann mir da jemand helfen?

    Grüsse

  • icy icy
    Sternenflotten-Admiral
    0 x
    169 Beiträge
    0 Hilfreiche Beiträge
    02. 07. 2009, 18:48

    Wie funktioniert das eigentlich in einer eigenen Extension? die Datenbankfelder habe ich angelegt, lassen sich im Backend auch befüllen, nur die entsprechenden Marker lassen sich nicht nutzen.
    Ich habe dazu versucht, den hook getItemMarkerArray zu nutzen, der in der Konfiguration auch angemeldet zu sein scheint...

    Gruß, Icy

  • Ftdesigner Ftdesigne...
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    27. 06. 2010, 09:07

    Hallo Leuts,

    Seit nun knapp 4 Jahren ist das nun ein problem. Neue Felder einfügen scheint für alle irgendwie ein Problem zu sein.

    Nun also auch zu meinem:
    Ich habe alles so gemacht, wie Stefan74 beschrieben hat. Bei mir funktioniert alles prima.
    Aber nicht, wenn ich den neu gesetzten Feldern ein Artikel zuweisen möchte.
    Sprich: wenn ich <!---###display_variant12###---> vor und nach dem Feld einfüge und ne Dropdownbox einfüge, dann wird das
    Produkt nicht mehr in den Warenkorb gelegt.

    Hat dafür jemand evt. ne Lösung?

    Ich bin hier fast am verzweifeln, habe unter diesem Thema auch ein eigenes Thema erstellt:
    [url=]http://www.typo3forum.net/forum/tt_products/46136-artikel-probleme.html[/url]

    Doch bis anhin konnte mir niemand helfen.

    Ich wäre ewig froh, wenn mir da vieleicht jemand ein Tipp geben könnte.

    Grüße aus der Hölle der Verzweiflung

    Ftdesigner

  • jk87 jk87
    Padawan
    0 x
    52 Beiträge
    0 Hilfreiche Beiträge
    03. 08. 2010, 11:40

    Damit der eigene Marker in allen Ansichten ausgegeben wird, muss der Marker unter tt_products 2.6.2 wie folgt definiert werden:

    1. $markerArray['###'.$this->marker.'_MEINFELD###'] = $row['meinFeldname'];

    Dementsprechend muss dann der Marker "###PRODUCT_MEINFELD###" gesetzt werden.

    Gruß,
    jk

  • 0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    02. 02. 2011, 14:40

    da ich auch gerade danach gesucht habe: im TYPOSCRIPT müssen die neuen Felder registriert werden:

    plugin.tt_products.conf.tt_products.ALL.requiredFields = uid,pid,category,price,price2,tax,inStock,datasheet,nuesfeldausdb1,neuesfeldausdb2,...

  • 1