Форум программистов, компьютерный форум, киберфорум
Наши страницы

Symfony

Войти
Регистрация
Восстановить пароль
 
fier
128 / 13 / 2
Регистрация: 05.08.2013
Сообщений: 263
#1

Symfony2, работа с типом Collection, работа с базовой формой - Symfony

18.11.2014, 15:49. Просмотров 922. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Осваиваю создание CRUD приложения на Symfony 2, на примере.
Однако, возникают ошибки:
1)При модификации шаблона изменения новости:
Symfony2, работа с типом Collection, работа с базовой формой
должно получиться так:
Symfony2, работа с типом Collection, работа с базовой формой
но у меня осталась кнопка create:
Symfony2, работа с типом Collection, работа с базовой формой
Примечание:Этот рисунок содержит больше элементов, чем в примере т.к. это конечный вариант задания, я не стал откатывать до момента изменения формы редактирования.
2)При добавлении типа collection:
PHP
1
2
3
4
5
6
7
8
9
$builder->add('title', 'text', array('label' => 'Заголовок'))
                ....
              ->add('newsLinks', 'collection', array(
                                               'label' => 'Ссылки к новости',
                                               'type' => new NewsLinkType(),
                                               'allow_add' => true,
                                               'allow_delete' => true,
                                               'prototype' => true
                                              ));
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
namespace Test\NewsBundle\Form;
 
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
 
class NewsLinkType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('url')
                ->add('text');
    }
 
    public function getName()
    {
        return 'newsLinkType';
    }
 
 
    public function getDefaultOptions(array $options)
    {
        return array(
            'data_class' => 'Test\NewsBundle\Entity\NewsLink',
        );
    }
}
Javascript
1
2
<!-- При нажатии на кнопку #addLink он добавляется к таблице -->
   <script type="text/html" id="nl">{{ _self.linkRow (form.newsLinks.get('prototype')) }}  </script>
У меня возникает такая ошибка:
Symfony2, работа с типом Collection, работа с базовой формой
Как я понимаю, почему-то не находит метод get.
Пробовал
Javascript
1
<script type="text/html" id="nl">{{ _self.linkRow (form.newsLinks.vars.prototype) }}  </script>
Такая же ошибка.
Посмотрел здесь, вроде все правильно, только немного по другому, т.к. свои задачи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2014, 15:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Symfony2, работа с типом Collection, работа с базовой формой (Symfony):

Описать свойство класса с типом Collection и соответствующие Property методы - VBA
Описать свойство класса с типом Collection и соответствующие Property методы Ребят нужна помощь.В понедельник экзамен VBA. Препод...

Работа с типом Expr - Haskell
2) Определите функцию simplify, которая упрощает выражения типа Expr, применяя очевидные правила вида: • x + 0 = 0 + x = x • x · 1 = 1...

Работа с типом Expr - Haskell
3) Определите функцию toString, преобразующую выражение типа Expr в строку. Например, результатом применения функции к выражению Add...

Работа с типом List<> - C#
Здравствуйте, тут такая задача нужно сделать академическую группу, но я столкнулся с такой проблемой как работать с классом list&lt;&gt; вот...

Работа с типом char - C++
Пожалуйста, помогите понять разницу между этими записями: char a; char *a; char *a; char a;

Работа с символьным типом - C++
Код:// ex10_4.cpp #include &lt;iostream&gt; using namespace std; //////////////////////////////////////////////////////////////// struct...

2
fier
128 / 13 / 2
Регистрация: 05.08.2013
Сообщений: 263
26.11.2014, 01:20  [ТС] #2
Ответ на то, как заменить название submit'а, я нашел:
Ниже, шаблон twig, отнесу его к html коду:
HTML5
1
2
3
4
5
6
7
{{ form_start(form) }}
         {% extends '::base.html.twig' %}
 
        {# .....какие то иные элементы формы #}
        {# переопределение элементов формы #}
        {{ form_widget(form.submit, { 'label': 'Создать тест','attr': {'class': 'createTest'} }) }}
    {{ form_end(form) }}
Выше присваиваю label, для сущности submit, которая наследуется из base.html.twig
Также, можно поменять в классе для управления формой, который предварительно генерируется doctrine вместе с базовыми элементами формы для взаимодействия с БД, командой:
Bash
1
php app/console doctrine:generate:crud --entity=YourNameBundle:NewsLink --route-prefix=link_to_your_app --with-write --format=annotation
Что-то вроде этого:
PHP
1
2
3
4
5
6
7
8
9
10
/**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('submit', null, array('label' => 'Создать'));
            
     };
Но не получилось...странно
Более подробно написано в этом разделе
На второй вопрос пока не нашел ответ.
0
dim07
34 / 34 / 2
Регистрация: 27.10.2014
Сообщений: 120
29.11.2014, 23:41 #3
метод Get надо в роутинге прописать для данного экшена.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2014, 23:41
Привет! Вот еще темы с ответами:

Работа с типом Expr - Haskell
Используя тип Expr data Expr = Const' Integer | Var String | Add Expr Expr | Mul Expr Expr deriving (Show, Eq), реализуйте следующие...

Работа с типом Expr - Haskell
4) Определите функцию eval, которая принимает два параметра: выражение типа Expr и список пар типа (String,Integer), задающий...

Работа с типом datatime - C#
появилась такая проблема: например, на форме есть комбобокс в котором можно выбрать какую-то дату из базы. делаю это так: string str =...

работа с типом флоат - C (СИ)
Здравствуйте, извините за дурацкий вопрос) я недавно начал учить С++, и столкнулся вот с чем....мене надо чтобы выводилось 2 числа после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru