Gibt es auch einen besseren Weg als was ich mir jetz hab gedacht?
Ich muss noch herausfinden, wie im Backend bei der Bearbeitung von Produkttypen ich die ausgewählte Produkttyp erkennen kann und die DCA ändern.
config.php:
PHP-Code:
$GLOBALS['ISO_PRODUCT']['tyre'] = array
(
'class' => 'IsotopeProductSpecial',
);
$GLOBALS['ISO_HOOKS']['productAttributes'][] = array('IsotopeSpecialshop', 'enforceSpecialAttributes');
IsotopeSpecialshop.php:
PHP-Code:
public function enforceSpecialAttributes(&$arrAttributes, &$arrVariantAttributes, IsotopeProduct &$objProduct)
{
if (!($objProduct instanceof IsotopeProductSpecial))
{
return;
}
// Adding the attributes to $arrAttributes
...
}
tl_iso_producttypes.php
PHP-Code:
...
$intAttrCnt = count($GLOBALS['TL_DCA']['tl_iso_producttypes']['fields']['attributes']['default']) + 1;
$GLOBALS['TL_DCA']['tl_iso_producttypes']['fields']['attributes']['default']['ss_ean'] = array('enabled'=>1, 'position'=>$intAttrCnt++, 'tl_class_select'=>'clr');
tl_iso_products.php
PHP-Code:
$GLOBALS['TL_DCA']['tl_iso_products']['fields']['ss_ean'] = array
(
'label' => ...
...
);
database.sql
Code:
CREATE TABLE `tl_iso_products` (
`ss_ean` varchar(32) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Lesezeichen