Jak dodac nowe pole formularza w projekcie na Symfony w wersji 3.4?

0

Witam,

Chce dodac checkbox do jedengo z formularza oraz nowa kolumne do odpowiadajacej formularzowi tabeli. Projekt zbudowany w Symfony 3.4. Czy mam teraz rozszerzac po kolei: migracje, encje, kontrolery, widoki, pliki *.yml etc? Jak to sie ma odbywac? Niby mam dodac tylko jedna dodatkowa kolumne do tabeli, a wychodzi jak bym mial zrobic kupe roboty. Nie kumam tutaj czegos :D Prosze wyjasnienie :)

0

Niby mam dodac tylko jedna dodatkowa kolumne do tabeli (...)

No to w końcu masz tylko dodać kolumnę do tabeli czy jeszcze do tego modyfikować formularze?

0

Chce dodac checkbox do jedengo z formularza

oraz nowa kolumne do odpowiadajacej formularzowi tabeli. Projekt zbudowany w Symfony 3.4. Czy mam teraz rozszerzac po kolei: migracje, encje, kontrolery, widoki, pliki *.yml etc? Jak to sie ma odbywac? Niby mam dodac tylko jedna dodatkowa kolumne do tabeli, a wychodzi jak bym mial zrobic kupe roboty. Nie kumam tutaj czegos :D Prosze wyjasnienie :)

Hej,

Czyli lecisz według kolejności:

nowa kolumne do odpowiadajacej formularzowi tabeli

Zmieniasz encję i potem odpalasz migrację (albo doctrineupdate)

Chce dodac checkbox do jedengo z formularza

Czyli zmieniasz plik od forma - klasa w phpie, która dodaje parametry. Będziesz musiał do buildera dodać nowe pole CheckBox type (https://symfony.com/doc/3.4/reference/forms/types/checkbox.html) i zależnie od tego jak je renderujesz albo dodasz form_row nowy albo nic, bo wyświetlacie całą formę poprzez form()

Czy mam teraz rozszerzac po kolei: migracje, encje, kontrolery, widoki, pliki *.yml etc? Jak to sie ma odbywac?

O encjach i migracjach wyżej, o formie i widoku też. Zostało Ci sprawdzenie czy w kontrolerze trzeba coś zrobić - jeżeli robisz jakieś domyślne form->handleRequest($request) to nic nie trzeba będzie zmieniać. W yml też nic nie trzeba zmieniać.

0

@Pipes Mam maly problem z rozszerzeniem modelu. To jest model, ktory chce rozszerzyc: oryginalny model

Od razu rozszerzylem moj bundle o bundle, ktory chce rozszerzyc:

public function getParent()
{
      return 'OpenLoyaltyCampaignBundle';
}

Utworzylem nowy bundle w srcfolderze i dodalem moj model:

<?php
namespace OpenLoyalty\Bundle\CampaignBundle\Model;

use OpenLoyalty\Bundle\CampaignBundle\Model\Campaign as BaseCampaign;

/**
 * Class CampaignExtension
 */
class CampaignExtension extends BaseCampaign
{
    /**
     * @var IsValidByPromoter
     */
    protected $isValidByPromoter;


    /**
     * @param bool $isValidByPromoter
     */
    public function setIsValidByPromoter($isValidByPromoter)
    {
        $this->isValidByPromoter = $isValidByPromoter;
    }

    /**
     * @return IsValidByPromoter
     */
    public function getIsValidByPromoter()
    {
        return $this->isValidByPromoter;
    }
}

Cos jeszcze mam dodac? Metatagi? Czy jakos zarejestrowac ten model w yml?

0

To teraz pytanie co robi ten plik: zobacz ?

0

A nie możesz po prostu przeanalizować tego jak działaja obecne pola? Masz ich nazwy, masz dokumentację (tam wyżej podesłałem Ci linki tylko do dokumentacji symfony, a tutaj widzę że korzystasz z jakiejś nakładki), masz debuger, IDE.

Ja bym ten problem rozkminial właśnie tak jak opisałem.

0

@Patryk27: KOSZOWO. Nie naprawilem tego i dalej nie wiem jak. Olac. Obeszlem to w inny sposob.

0

Przeanalizowałem szybko kod OpanLoyalty i zaprowadziło mnie to do https://github.com/broadway/broadway.

Broadway is a project providing infrastructure and testing helpers for creating CQRS and event sourced applications.

Myślę, że powinno doprowadzić do rozwiązania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1