在 Symfony 的块渲染中找到 div

Find a div in a block render in Symfony

我正在用 symfony 4 做一个网站。我从这个框架开始,我的网站设计有问题。 我一直在寻找它可能来自哪里,但找不到我想要删除的代码。

我想删除的部分代码如下,因为结果很难看:

我在我的代码中找不到这个:

在我的控制器中:

/**
 * @return Response
 */
public function newLetterAction(Request $request): Response
{
    $form = $this->createForm(CustomerNewsletterType::class, new Customer());
    $form->handleRequest($request);

    $facebook = $this->manager->getRepository(ExternalUrl::class)->findOneByCode('facebook');
    $instagram = $this->manager->getRepository(ExternalUrl::class)->findOneByCode('instagram');

    return $this->templatingEngine->renderResponse('@SyliusShop/Homepage/_newsletter.html.twig', [
        'facebook' => $facebook,
        'instagram' => $instagram,
        'form' => $form->createView(),
        'rova_refonte' => (in_array($this->container->get('request_stack')->getMasterRequest()->attributes->get('_route'),["sylius_shop_homepage"]) ? true : false)
    ]);
}

我的表单类型:

    class CustomerNewsletterType extends AbstractResourceType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('email', EmailType::class, [
                'label' => 'app.ui.newsletter',
                'attr' => [
                    'placeholder' => 'app.ui.email'
                ]
            ])
        ;
    }

    /**
     * {@inheritdoc}
     */
    public function getBlockPrefix(): string
    {
        return 'app_customer_newsletter';
    }
}

在我的树枝上:

{{ render(controller('app.controller.shop_homepage:newLetterAction')) }}

如果有人能告诉我如何找到代码,那将对我有很大帮助。

谢谢

当您调用 $form->createView() 时,一切都在幕后完成。
总而言之,表单中的每种类型的字段都有一个使用树枝块的基本渲染(表单本身也是如此),它可以被覆盖。这就是所谓的形式主题,在树枝桥中有一个基础which is usually this one

您可以创建新主题、扩展现有主题,或者创建特定表单所需的内容(提示:表单类型中的 getBlockPrefix 函数用于此目的)。

您可以在此处找到有关表单呈现的所有文档:
https://symfony.com/doc/current/form/form_customization.html

本文档中描述的大多数函数实际上都是调用表单主题的 twig 块,您可以在此处找到相关文档:
https://symfony.com/doc/current/form/form_themes.html

记住:删除这样的 class / div 可能会破坏现有的 CSS、错误渲染或 javascript 瞄准这个 class.

您很可能使用 bootstrap 3/4 form theme and there works standard form_row template layout

要自定义当前 form/another 表单元素,请使用 "How to Work with Form Themes" tutorial