本文整理汇总了PHP中Sonata\AdminBundle\Admin\FieldDescriptionInterface::getFieldName方法的典型用法代码示例。如果您正苦于以下问题:PHP FieldDescriptionInterface::getFieldName方法的具体用法?PHP FieldDescriptionInterface::getFieldName怎么用?PHP FieldDescriptionInterface::getFieldName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sonata\AdminBundle\Admin\FieldDescriptionInterface
的用法示例。
在下文中一共展示了FieldDescriptionInterface::getFieldName方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: output
/**
* @param FieldDescriptionInterface $fieldDescription
* @param \Twig_Template $template
* @param array $parameters
*
* @return string
*/
public function output(FieldDescriptionInterface $fieldDescription, \Twig_Template $template, array $parameters, \Twig_Environment $environment)
{
$content = $template->render($parameters);
if ($environment->isDebug()) {
$commentTemplate = <<<EOT
<!-- START
fieldName: %s
template: %s
compiled template: %s
-->
%s
<!-- END - fieldName: %s -->
EOT;
return sprintf($commentTemplate, $fieldDescription->getFieldName(), $fieldDescription->getTemplate(), $template->getTemplateName(), $content, $fieldDescription->getFieldName());
}
return $content;
}
示例2: output
/**
* @param FieldDescriptionInterface $fieldDescription
* @param \Twig_Template $template
* @param array $parameters
*
* @return string
*/
public function output(FieldDescriptionInterface $fieldDescription, \Twig_Template $template, array $parameters = array())
{
$content = $template->render($parameters);
if ($this->environment->isDebug()) {
return sprintf("\n<!-- START \n fieldName: %s\n template: %s\n compiled template: %s\n -->\n%s\n<!-- END - fieldName: %s -->", $fieldDescription->getFieldName(), $fieldDescription->getTemplate(), $template->getTemplateName(), $content, $fieldDescription->getFieldName());
}
return $content;
}
示例3: attachAdminClass
/**
* attach an admin instance to the given FieldDescription
*
* @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
*/
public function attachAdminClass(FieldDescriptionInterface $fieldDescription)
{
$pool = $this->getConfigurationPool();
$admin = $pool->getAdminByClass($fieldDescription->getTargetEntity());
if (!$admin) {
throw new \RuntimeException(sprintf('You must define an Admin class for the `%s` field (targetEntity=%s)', $fieldDescription->getFieldName(), $fieldDescription->getTargetEntity()));
}
$fieldDescription->setAssociationAdmin($admin);
}
示例4: renderFormElement
/**
* render a field element from the FieldDescription
*
*
* @throws InvalidArgumentException
* @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
* @param \Sumfony\Component\Form\FormView $formView
* @param mixed $object
* @param array $params
* @return string
*/
public function renderFormElement(FieldDescriptionInterface $fieldDescription, FormView $formView, $object, $params = array())
{
if (!$fieldDescription->getFieldName()) {
return '';
}
if (!$formView->offsetExists($fieldDescription->getFieldName())) {
throw new \RuntimeException(sprintf('No child named %s', $fieldDescription->getFieldName()));
}
$children = $formView->offsetGet($fieldDescription->getFieldName());
if (in_array('hidden', $children->get('types'))) {
return '';
}
// find the correct edit parameter
// edit : standard | inline
// inline : natural | table
$parentFieldDescription = $fieldDescription->getAdmin()->getParentFieldDescription();
if (!$parentFieldDescription) {
$params['edit'] = $fieldDescription->getOption('edit', 'standard');
$params['inline'] = $fieldDescription->getOption('inline', 'natural');
$base_template = sprintf('SonataAdminBundle:CRUD:base_%s_edit_field.html.twig', 'standard');
} else {
$params['edit'] = $parentFieldDescription->getOption('edit', 'standard');
$params['inline'] = $parentFieldDescription->getOption('inline', 'natural');
$base_template = sprintf('SonataAdminBundle:CRUD:base_%s_edit_field.html.twig', $params['edit']);
}
$template = $this->environment->loadTemplate($fieldDescription->getTemplate());
return $this->output($fieldDescription, $template->render(array_merge($params, array('admin' => $fieldDescription->getAdmin(), 'object' => $object, 'field_description' => $fieldDescription, 'value' => $this->getValueFromFieldDescription($object, $fieldDescription, $params), 'field_element' => $children, 'base_template' => $fieldDescription->getOption('base_template', $base_template)))));
}
示例5: getOneToManyField
/**
* Returns the OneToMany associated field
*
* @param \Symfony\Component\Form\FormBuilder $formBuilder
* @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
* @return \Symfony\Component\Form\Type\FormTypeInterface
*/
protected function getOneToManyField(FormBuilder $formBuilder, FieldDescriptionInterface $fieldDescription)
{
if ($fieldDescription->getOption('edit') == 'inline') {
// create a collection type with the generated prototype
$options = $fieldDescription->getOption('form_field_options', array());
$options['type'] = 'sonata_type_admin';
$options['modifiable'] = true;
$options['type_options'] = array('field_description' => $fieldDescription);
$formBuilder->add($fieldDescription->getFieldName(), 'sonata_type_collection', $options);
return;
// $value = $fieldDescription->getValue($formBuilder->getData());
//
// // add new instances if the min number is not matched
// if ($fieldDescription->getOption('min', 0) > count($value)) {
//
// $diff = $fieldDescription->getOption('min', 0) - count($value);
// foreach (range(1, $diff) as $i) {
// $this->addNewInstance($formBuilder->getData(), $fieldDescription);
// }
// }
// use custom one to expose the newfield method
// return new \Sonata\AdminBundle\Form\EditableCollectionField($prototype);
}
return $this->defineManyToManyField($formBuilder, $fieldDescription);
}