Hi guys i was wondering why i can't use DataObjectManager inside a DataObjectDecorator... or why ComplexTableField works and DOM throws errors my code is fairly simple i think
I'm using decorators for my HomePage class so I can control stuff that are in all pages using in templates <% control Page(home) %> stuff.
in my _config: DataObject::add_extension('HomePage', 'LogoDecorator');
<?php
class LogoDecorator extends DataObjectDecorator{
function extraStatics() {
return array(
'has_many' => array(
'Logos' => 'Logo',
),
);
}
public function updateCMSFields(FieldSet &$fields) {
$Banners = new ComplexTableField(
$this,
'Logos',
'Logo',
array(
'TextoAlternativo' =>'TextoAlternativo',
'Link' =>'Link'
),
'getCMSFields_forPopup'
);
$Banners->setParentClass('HomePage');
$fields->addFieldToTab( 'Root.Content.Logos', $Banners );
}
}
and my logo class:
<?php
class Logo extends DataObject {
static $db = array (
'TextoAlternativo' => 'Varchar(140)',
'Link' => 'Varchar(255)'
);
static $has_one = array (
'HomePage' => 'HomePage',
'Logo' => 'Image'
);
public function getCMSFields_forPopup()
{
return new FieldSet(
new TextareaField('TextoAlternativo', 'Texto Alternativo (para google) - máximo 140 caracteres'),
new TextField("Link", "URL de la página de logo (sin http://)"),
new ImageField('Logo', 'Agregar imagen para el banner')
);
}
}
when i use DOM instead of ComplexTableField, the code just stop working... any clues?
thanks for all guys!