deblan.tv/vendor/trinity/src/Trinity/Bundle/ContentManagerBundle/Form/Type/PageType.php
2015-03-02 21:57:49 +01:00

49 lines
1.2 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Trinity\Bundle\ContentManagerBundle\Form\Type;
use Propel\PropelBundle\Form\BaseAbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class PageType extends BaseAbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
if (null !== $builder->getData()) {
foreach ($builder->getData()->getConfiguration()->getBlocks() as $blockConfiguration) {
$type = $blockConfiguration->getType();
$builder->add(
sprintf('block_%s', $blockConfiguration->getName()),
new $type(),
$blockConfiguration->getOptions()
);
}
}
}
/**
* {@inheritdoc}
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(
array(
'data_class' => 'Trinity\Bundle\ContentManagerBundle\Model\Page',
)
);
}
/**
* {@inheritdoc}
*/
public function getName()
{
return 'page';
}
}