Einzelnen Beitrag anzeigen
  #3  
Alt 18.01.08, 19:20
Benutzerbild von swingtra
swingtra swingtra ist offline
Forum Aktivist
 
Registriert seit: 18.03.05
Alter: 36
Beiträge: 81
swingtra eine Nachricht über Skype™ schicken

Extra dropdown für PAYMENT und SYSDELIVERY


Hallo Robelix Hallo an Alle ,

vielen Dank nochmal ich habe hier schnell mal einen code geschrieben
für eine ext_tables.php für das Feld classname um weitere Möglichkeiten für den Versand und die Bezahlmethoden zu bieten ...und die locallang-db.xml, um hier an dieser Stelle das Gewürge in die mysql zu gehen, zu beenden.

Kurz der artikeldatensatz unter commerce bekommt ein dropdown, damit kann man PAYMENT und DELIVERY Artikel ergänzen, normale Artikeldatensätze bleiben unberührt.

PHP-Code:
<?php
if (!defined ('TYPO3_MODE'))     die ('Access denied.');
//t3lib_extMgm::addStaticFile($_EXTKEY,'static/delivery_parameters/', 'delivery parameters');

//Heiko Özaykut, 18.01.2008

// $tempColumns ergänzt das Feld "tx_commerce_articles", siehe t3lib_extMgm::addTCAcolumns
$tempColumns = array(
    
'ctrl' => Array (
'interface' => Array (
'showRecordFieldList' => 'classname'// ... das versteckte Feld, danke robelix !
),
// Das Feld classname wird per dropdown im Artikeldatensatz gesetzt
    
'classname' => array(
        
'exclude' => 1,
            
'label' => 'LLL:EXT:commerce_delivery/locallang_db.xml:tx_commerce_delivery.classname'// der weg zur Sprachdatei
            
'l10n_mode' => 'exclude',
            
'config' => Array (
                
'type' => 'select',
                
'items' => array(
                    array(
'Nur Fuer Payment und Delivery',''), // nix
                    
array('PAYMENT:Rechnung','invoice'), // Rechnung
                    
array('PAYMENT:Lastschrift ','prepayment'), // Lastschrift
                    
array('PAYMENT:Kreditkarte','creditcard'), // Kreditkarte
                    
array('PAYMENT:Vorauszahlung','cashondelivery'),// Vorauszahlung 
                    
array('PAYMENT:Paypal(falls gesetzt)','paypal'),// Option, wenn Extension paypal2commerce gesetzt
                    
array('PAYMENT:Elv(falls gesetzt)','elv'), // Option, wenn Extension für elv programmiert
                    
array('DELIVERY:Einfacher Versand','sysdelivery'// noch die einzigste Versand-Variante
                
),
                
'default' => $defaultTax,
            )
    )
    
);
t3lib_extMgm::addTCAcolumns('tx_commerce_articles',$tempColumns,1);
t3lib_extMgm::addTCAcolumns('tx_commerce_attribute_values',$tempColumns,1);

t3lib_div::loadTCA("tx_commerce_articles","tx_commerce_delivery"); // ...so heisst meine Extension, das anpassen -> tx_commerce_delivery
t3lib_extMgm::addToAllTCAtypes("tx_commerce_articles",
"classname;;;;1-1-1");

?>

... jetzt die locallang-db.xml ...

HTML-Code:
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <T3locallang> <meta type="array"> <type>database</type> <description>Language labels for database tables/fields belonging to extension 'commerce_delivery'</description> </meta> <data type="array"> <languageKey index="default" type="array"> <label index="tx_commerce_delivery.classname">payment/delivery methods</label> </languageKey> <languageKey index="de" type="array"> <label index="tx_commerce_delivery.classname">Bezahl-u.Versandmethoden für die Arikeldatentypen "payment" und "delivery",Der Typ "article" bleibt im default bitte (!) Unberührt!</label> </languageKey> </data> </T3locallang>
... viel Spass !

und danke an Robelix !
__________________
Erst Backup, dann Delete wird man es anders probieren, dann kriecht man auf allen vieren ...
Mit Zitat antworten