код реализован так,
class OrderViewGridFieldTechnicalHistoryViewButton implements GridField_ColumnProvider
если я вернусь
return $data->renderWith('TechnicalHistoryViewButton');
в файле ss я звоню вот так
$Up.getColumnContentByID($ID , 'TechnicalHistory')
Я получаю строку в качестве кода возврата,
Любое предложение?
код для TechnicalHistoryViewButton
class OrderViewGridFieldTechnicalHistoryViewButton implements GridField_ColumnProvider
{
public function augmentColumns($field, &$cols)
{
if(!in_array('TechnicalHistory', $cols)) $cols[] = 'TechnicalHistory';
}
public function getColumnsHandled($field)
{
return array('TechnicalHistory');
}
public function getColumnContent($field, $record, $col)
{
if ($record->canView()) {
$data = new ArrayData(array(
'Link' => PageController::join_links($field->Link('item'), $record->ID, 'vieworder'),
'ColumnName' => $col
));
return $data->renderWith('TechnicalHistoryViewButton');
}
}
public function getColumnAttributes($field, $record, $col)
{
return array('class' => 'col-buttons');
}
public function getColumnMetadata($gridField, $col)
{
return array('title' => null);
}
}
код для TechnicalHistoryViewButton.ss
<div class="cms-custom-icon-block float _js-tool-tip">
<a class="" href="$Link"></a>
<div class='tool-tip-content' style="display:none"><span>View Technical History</span></div>
</div>
Вот как я использую поля этой сетки
<% with $Fields.fieldByName('OrderItems') %>
<div class='cms-custom-row'>
<% loop $getList %>
$Up.getColumnContentByID($ID , 'TechnicalHistory')
</div>
<% end_loop %>
</div>
<% end_with %>
Удлинитель для сетки
public function getColumnContentByID($ID, $column)
{
$record = $this->owner->getList()->byId($ID);
return $this->owner->getColumnContent($record, $column);
}