mirror of
https://github.com/a2nt/cms-niceties.git
synced 2024-09-28 18:48:59 +02:00
38 lines
937 B
PHP
38 lines
937 B
PHP
|
<?php
|
||
|
|
||
|
namespace A2nt\CMSNiceties\Extensions;
|
||
|
|
||
|
use SilverStripe\Core\Extension;
|
||
|
use SilverStripe\Forms\CompositeField;
|
||
|
use SilverStripe\Forms\FieldList;
|
||
|
use SilverStripe\Forms\TextField;
|
||
|
|
||
|
class PlaceholderFormExtension extends Extension
|
||
|
{
|
||
|
public function updateFormFields(FieldList $fields)
|
||
|
{
|
||
|
foreach ($fields as $field) {
|
||
|
$this->setPlaceholder($field);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private function setPlaceholder($field)
|
||
|
{
|
||
|
if (is_a($field, TextField::class)) {
|
||
|
$field->setAttribute(
|
||
|
'placeholder',
|
||
|
$field->Title()
|
||
|
.($field->hasClass('requiredField') ? '*' : '')
|
||
|
);
|
||
|
$field->setTitle('');
|
||
|
}
|
||
|
|
||
|
if (is_a($field, CompositeField::class)) {
|
||
|
$children = $field->getChildren();
|
||
|
foreach ($children as $child) {
|
||
|
$this->setPlaceholder($child);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|