i tried an mp3 file.
my code looks as follows:
class AudioFile extends DataObject {
public static $db = array(
'Name' => 'Text',
'Beschreibung' => 'Text'
);
static $has_one = array(
'Attachment' => 'File',
'AudioSeite' => 'AudioPage'
);
function getCMSFields_forPopup() {
$fields = new FieldSet();
$fields->push( new TextField( 'Name', 'Titelname' ) );
$fields->push( new TextField( 'Beschreibung', 'Beschreibung' ) );
$fields->push( new FileIFrameField( 'Track', 'MP3-File') );
return $fields;
}
}
class AudioPage extends Page
{
public static $db = array();
public static $has_one = array();
static $has_many = array('AudioFiles' => 'AudioFile');
function getCMSFields()
{
$fields = parent::getCMSFields();
$manager = new FileDataObjectManager($this, 'AudioFiles', 'AudioFile', 'Attachment', array('Name' => 'Name', 'Beschreibung' => 'Beschreibung'), 'getCMSFields_forPopup'/* new FieldSet(new TextField('Beschreibung', 'Beschreibung'), new FileIFrameField('Track'))*/
);
$manager->setAllowedFileTypes(array('mp3'));
$manager->setBrowseButtonText('MP3 Datei hochladen');
$manager->allowUploadFolderSelection();
$fields->addFieldToTab('Root.Content.Tracks', $manager);
return $fields;
}
}
the AudioPage.ss (exactly the Layout-snippet) only has the following lines:
<% control AudioFiles %>
<h3>$Name</h3>
<p>$Beschreibung</p>
$Attachment
<% end_control %>
thank you,
roelfsche