mirror of
https://github.com/silverstripe/doc.silverstripe.org
synced 2024-10-22 17:05:50 +02:00
43 lines
1022 B
PHP
43 lines
1022 B
PHP
|
<?php
|
||
|
/**
|
||
|
* Transformation that will make a form printable.
|
||
|
* Builds on readonly forms with different behaviour for tabsets.
|
||
|
* @package forms
|
||
|
* @subpackage transformations
|
||
|
*/
|
||
|
class PrintableTransformation extends ReadonlyTransformation {
|
||
|
function transformTabSet($field) {
|
||
|
$transformedField = new PrintableTransformation_TabSet($field->Tabs()->transform($this));
|
||
|
$transformedField->Title = $field->Title();
|
||
|
$transformedField->TabSet = $field->TabSet;
|
||
|
return $transformedField;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Class representing printable tabsets
|
||
|
* @package forms
|
||
|
* @subpackage transformations
|
||
|
*/
|
||
|
class PrintableTransformation_TabSet extends TabSet {
|
||
|
function __construct($tabs) {
|
||
|
$this->children = $tabs;
|
||
|
CompositeField::__construct($tabs);
|
||
|
}
|
||
|
|
||
|
function FieldHolder() {
|
||
|
// This gives us support for sub-tabs.
|
||
|
$tag = ($this->tabSet) ? "h2>" : "h1>";
|
||
|
|
||
|
foreach($this->children as $tab) {
|
||
|
$retVal .= "<$tag" . $tab->Title() . "</$tag\n";
|
||
|
$retVal .= $tab->FieldHolder();
|
||
|
}
|
||
|
return $retVal;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
?>
|