在Symfony中的块渲染中查找div

问题描述 投票:1回答:2

我正在使用symfony 4做一个站点。我从这个框架开始,但是我的站点存在设计问题。我一直在寻找它的来源,但找不到我想要删除的代码。

我要删除的部分代码如下,因为结果很丑陋:enter image description here

enter image description here

我在我的代码中找不到:

在我的控制器中:

/**
 * @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)
    ]);
}

以我的formType:

    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')) }}

[如果有人可以告诉我如何查找代码,那将对我有很大帮助。

谢谢

twig sylius symfony-4.3
2个回答
0
投票

当您致电$form->createView()时,一切都在幕后完成。综上所述,表单中的每种类型的字段都有一个使用树枝块的基本渲染(表单本身也是如此),可以将其覆盖。这就是所谓的表单主题,在树枝桥中有一个基数which is usually this one

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

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

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

请紧记:删除此类/ div可能会破坏现有的CSS,错误呈现或针对此类的JavaScript所做的所有工作。


0
投票

[最有可能您使用bootstrap 3/4 form theme,并且可以使用标准form_row template layout

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

© www.soinside.com 2019 - 2024. All rights reserved.