1778 Posts in 581 Topics by 555 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 170 Views |
-
Displaying link to file in GridField

20 February 2013 at 9:48am
I have a GridField diplaying as $has_many realtion with files, I'm tryin to add a column with a link to the file. I thought I'd be able to do it setFieldFormatting but at that level it seems to only have access the page object even though is I remove it, the gridfield does show the $Filename
public function FileForm(){
$config = GridFieldConfig_Base::create();
$fileField = new GridField("Files", "Documents", $this->Files(), $config);
$dataColumns = $fileField->getConfig()->getComponentByType('GridFieldDataColumns');
$dataColumns->setDisplayFields(array(
'Select' => 'Select',
'Title' => 'Title',
'Description' => 'Description',
'Size' => 'Size',
'LastEdited' => 'Changed',
'Filename'=> 'Download'
));
$dataColumns->setFieldFormatting(array(
"Filename" => "<a href=/'$Filename/'>Download</a>"
));
$fields = new FieldList (
$fileField
);
$actions = new FieldList(FormAction::create("doEmail")->setTitle("Send Files"));
return new Form($this, "FileForm", $fields, $actions);
} -
Re: Displaying link to file in GridField

21 February 2013 at 8:02am
I've gotten a little farther using a new GridField Componant
class GridFieldDownloadButton implements GridField_ColumnProvider {
public function augmentColumns($field, &$cols) {
if(!in_array('Download', $cols)) $cols[] = 'Download';
}
public function getColumnsHandled($field) {
return array('Download');
}
public function getColumnContent($field, $record, $col) {
if($record->canView()) {
$data = new ArrayData(array(
'Link' => $record->Filename
));
return $data->renderWith('GridFieldDowloadButton');
}
}
public function getColumnAttributes($field, $record, $col) {
return array('class' => 'col-link');
}public function getColumnMetadata($gridField, $col) {
return array('title' => "Link to File", 'sortable' => false);
}
}But the column renders as sortable with a blank Title
Any suggestions?
| 170 Views | ||
|
Page:
1
|
Go to Top |

