小编chi*_*ger的帖子

对控制器的简单AJAX请求 - Symfony3

我在Ubuntu16.04上使用Symfony3和PhpStorm.2016.3.2

我之前从未做过AJAX请求,并且想要从view->到controller->测试对控制器的调用,该调用将回答发送回JSON中的视图.

所以我读了文档,但它们都非常具体.所以我的愿望是只能在视图中编写一个简单的AJAX请求(index.html.twig),进行测试,调用控制器(MainController.php)JSON在视图中返回答案.

这是我的看法:

{% extends 'app/layout.html.twig' %}

{% block content %}

{% endblock %}
Run Code Online (Sandbox Code Playgroud)

我的控制器:

class MainController extends Controller
{
    public function indexAction()
    {
        return $this->render('app/main/index.html.twig');
    }
}
Run Code Online (Sandbox Code Playgroud)

我真的不想让其他人完成这项工作,我只是想知道如何让它工作.所以我很抱歉,如果我的机票很空,但也许它可以帮助其他人,比如我,知道从哪里开始.

ajax symfony

8
推荐指数
1
解决办法
3万
查看次数

从 Symfony 3 中的文件夹中删除文件

我有一个带有createActionaneditAction和 a的控制器deleteAction

我可以添加图片并从数据库中删除它们。

当我按照 Symfony doc 创建上传文件时,我也在config.yml这条路线中创建了

parameters:
   uploaded_restaurants: "%kernel.root_dir%/../web/uploads/restaurants"
Run Code Online (Sandbox Code Playgroud)

所以这是我上传文件的路线。

我的问题

当我用我的删除操作删除我的照片时,它会在我的数据库中删除它。但不是在我的文件夹中,/web/uploads/restaurants 我试图找到一种方法也可以在我的文件夹中删除它们,但无法成功。

我也试过用 aFilesystem()删除它们,但我一定写得很糟糕。

这是我的控制器:

    class MediaController extends Controller
{
    /**
     * @param Request $request
     * @param Restaurant $restaurant
     * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
     */
    public function newAction(Request $request, Restaurant $restaurant)
    {
        $media = new Media();
        $form = $this->createForm(MediaType\CreateType::class, $media);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $mediaList = $this->getDoctrine()->getRepository('AppBundle:Media')->findImageByRestaurantType($restaurant, $form->get('context')->getData());

            if ($mediaList == null || count($mediaList) < 1) { …
Run Code Online (Sandbox Code Playgroud)

filesystems delete-file symfony

6
推荐指数
1
解决办法
1万
查看次数

依赖性不存在的参数"base_cdn"

我有一个恼人的错误,不允许我做任何composer installserver:startcache:clear

我不明白这个错误

[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]  
  You have requested a non-existent parameter "base_cdn".
Run Code Online (Sandbox Code Playgroud)

所以它不能让我做任何事情.我还有许多其他问题,例如:

Problem 1
    - Installation request for gregwar/image v2.0.20 -> satisfiable by gregwar/image[v2.0.20].
    - gregwar/image v2.0.20 requires ext-gd * -> the requested PHP extension gd is missing from your system.
Problem 2
    - Installation request for gregwar/image-bundle v2.1.3 -> satisfiable by gregwar/image-bundle[v2.1.3].
    - gregwar/image-bundle v2.1.3 requires ext-gd * -> the requested PHP extension gd is missing from your system.
Run Code Online (Sandbox Code Playgroud)

我不能像在禁止做的项目中那样进行作曲家更新(作为良好的练习),但我只能做composer install.

所以无论如何,我迷路了.有人对这个错误有所了解吗?

php symfony composer-php

1
推荐指数
1
解决办法
57
查看次数

底部导航栏一键显示/隐藏 - CSS

在我的手机屏幕上,主要内容的底部有一个导航栏,标题刚刚弹出。

我希望当我触摸标题时,动画过渡以显示整个隐藏的 div。

然后,当我再次单击标题时,它会动画回到其初始位置。

我设法只使用 jQuery 完成第一部分,而没有动画。如果您对完整 CSS 有任何建议,我也很感兴趣。

$('.open-nav').click(function () {
    $('.navbar-bottom').css('bottom', '0');
});
Run Code Online (Sandbox Code Playgroud)
.container {
    width: 200px;
    border: 1px solid black;
    height: 100vh;
}
.open-nav {
    cursor: pointer;
}
.navbar-bottom {
    height: 158px;
    background-color: yellow;
    width: 100%;
    display: flex;
    flex-direction: column;
    position: fixed;
    bottom: -112px;
    width: 200px;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="container">
  <p>WHAT OFFER ?</p>
  
  
  <nav class="navbar-bottom">
    <div class="open-nav">
        <h3>DO AN OFFER</h3>
    </div>
    <div class="nav-content">
        <ul>
            <li>
                <a href="#">OFFER HIM</a>
            </li>
            <li>
                <a href="#">OFFER YOU</a>
            </li>
            <li>
                <a …
Run Code Online (Sandbox Code Playgroud)

css jquery

1
推荐指数
1
解决办法
713
查看次数

如何显示“创建”和“编辑”操作的表单的特定字段-Symfony3

我有一个简单的FormType附加到一个media在我看来呈现为wich 的实体。我有一个newAction可以创建对象的对象,一个editAction可以让我在控制器中使用相同表单进行编辑的对象。但是我不希望在edit视图中出现某些字段,因为在创建该字段时已经输入了它们。

但是,即使我form_row习惯逐行专门渲染表单,但是当我form_end在末尾添加时,它也会渲染我的所有字段,即使我没有调用过。

我的FormType

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name', FileType::class, array(
            'data_class'          => null,
            'label'               => "Add an image"
        ))
        ->add('context', ChoiceType::class, array(
            'label'               => 'image section',
            'choices' => array(
                'header' => 'header',
                'middle' => 'middle',
            )
        ))
        ->add('save', SubmitType::class, array(
            'label'               => "Add"
        ));
}
Run Code Online (Sandbox Code Playgroud)

我的看法

{{ form_start(editForm) }}
{{ form_row(editForm.name) }}
{{ form_row(editForm.save) }}
{{ form_end(editForm) }}
Run Code Online (Sandbox Code Playgroud)

但是,即使我使用表单行,它实际上也会context在视图中显示我的字段,而我没有调用它。因此,我尝试了一些解决方法。 …

forms symfony

0
推荐指数
1
解决办法
986
查看次数

标签 统计

symfony ×4

ajax ×1

composer-php ×1

css ×1

delete-file ×1

filesystems ×1

forms ×1

jquery ×1

php ×1