2019-04-11 00:15:29 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Site\Extensions;
|
|
|
|
|
|
|
|
use SilverStripe\Core\Extension;
|
|
|
|
use SilverStripe\Forms\CompositeField;
|
|
|
|
use SilverStripe\Forms\FieldList;
|
|
|
|
use SilverStripe\Forms\TextField;
|
|
|
|
|
2019-05-23 13:02:32 +02:00
|
|
|
class PlaceholderFormExtension extends Extension
|
2019-04-11 00:15:29 +02:00
|
|
|
{
|
|
|
|
public function updateFormFields(FieldList $fields)
|
|
|
|
{
|
|
|
|
foreach ($fields as $field) {
|
|
|
|
$this->setPlaceholder($field);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private function setPlaceholder($field)
|
|
|
|
{
|
2019-05-23 13:02:32 +02:00
|
|
|
if (is_a($field, TextField::class)) {
|
2019-04-11 00:15:29 +02:00
|
|
|
$field->setAttribute(
|
|
|
|
'placeholder',
|
|
|
|
$field->Title()
|
|
|
|
.($field->hasClass('requiredField') ? '*' : '')
|
|
|
|
);
|
|
|
|
$field->setTitle('');
|
|
|
|
}
|
|
|
|
|
2019-05-23 13:02:32 +02:00
|
|
|
if (is_a($field, CompositeField::class)) {
|
2019-04-11 00:15:29 +02:00
|
|
|
$children = $field->getChildren();
|
|
|
|
foreach ($children as $child) {
|
|
|
|
$this->setPlaceholder($child);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|