Mirki uczcie mnie ! #naukaprogramowania #symfony2

Nie wiem czy dobrze zrozumiałem tutoriale symfony2 .. - robie sobie wstępny projekt. Czy layout strony ma być zawarty w app/resources/views/moj_layout ? A cały content strony newsy/logowanie etc. ma być w paczkach ?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wiktor12348: Wyłaśnie myślałem, żeby takie rzeczy jak bground/loga/stopki etc. trzymać w app/resources/views i po wywołaniu /app-dev.php/news uzupełnia się div-content zawartością bundla. I właśnie dlatego pytam czy mam dobre rozumowania jak to ma działać. I do tego każdy bundle na oddzielny content(news/logowanie/stats etc) ?
  • Odpowiedz
@matth95: Ja tak robię, robi tak każdy programista Sf2 firmie w której pracuje - taki standard sobie opracowaliśmy. Może inni coś innego wymyślili, chętnie posłucham.

Header, Footer, Nav często jeszcze drobniej podzielony i oparty o wiele dziedziczeń i spięte w base, base-popup, base-user itp. Wszystko uzupełniane o content z bundla. Wtedy tylko css,js, images trzymasz w "web/*"
  • Odpowiedz
Pomóżcie Mirki, piszę RESTowe API na #symfony ( #symfony2 ), używam FOSRestBundle oraz FOSUserBundle, API miałoby działać bez prefixu np. "api" w url'u, użytkownik po wysłaniu nagłówka "Accept" dostaje określonym formacie dane (html, json, xml) i to wszystko mam, spoko, ale chciałbym tam wrzucić autoryzację tokenową obok sesji i tak żeby użytkownik, który loguje się korzystając z sesji lub tokena miał dostęp do tych samych endpointów. Do tokenów
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#php #symfony2

Jak to jest z traits... Przerzuciłem część pól do traitów to symfony narzeka:

Runtime Notice: AppBundle\Entity\Supplier and AppBundle\AppTraits\Trackable

Trait define the same property ($modifiedAt) in the composition of AppBundl
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #symfony2 ktoś z Mirków mógłby wskazać na rozwiązanie palącego problemu? Przeniosłem klientowi aplikację do fakturowania na inny serwer i po zalogowaniu wywala błędy. Zajmuję się tylko projektowaniem i wdrażaniem stron więc na tym nie znam się absolutnie. Więcej szczegółów kolega opisał na stacku:

http://stackoverflow.com/questions/32414315/symfony-500-on-move-to-other-server
  • 54
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Formularze w #symfony2

Mam takie encje jak Question i Answer. Mogą one dotyczyć różnych innych encji. Umożliwiają one po prostu dodanie kolejnych pól do formularza, zdefiniowanych przez użytkownika.

Wymyśliłem że żeby dodać te pola najlepiej będzie zrobić kolekcję z odpowiedziami.
Mam encję Order. W OrderType dodaję kolekcję answers, a do $data dodaję nowe obiekty powiązanych Answer
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jaslanin: to trochę bardziej skomplikowane. tak jak na obrazku. to rozwiązanie o którym piszesz, to pierwszy przypadek który już mi działa. a drugi nie zadziała bo to jest kolekcja, więc nie mogę wywołać addAnswer...

ale chyba zamiast kombinować robiąc kolekcję dla odpowiedzi, muszę zrobić dla zamówienia/produktu w zamówieniu jakiś model w którym dynamicznie dodam atrybuty do obiektu po to by się zbudował formularz, a później z wartości przy zapisie ręcznie
Harry19911 - @Jaslanin: to trochę bardziej skomplikowane. tak jak na obrazku. to rozw...

źródło: comment_hSlVrhNEkhJ9s41StPnl28ALJ0h9G57t.jpg

Pobierz
  • Odpowiedz
Mireczki jeszcze raz dzisiaj #webdev i #symfony2
konfiguruje sobie pageBundle , po przejściu całego tutoriala klik
Mam błąd:

Class 'Application\Sonata\PageBundle\ApplicationSonataPageBundle' not found in
W AppKernel-u jest dodane
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wojjaskula: Ok, już odpowiadam.

PHP to nie Java czy C#. Dopisanie na górze pliku use nie załącza pliku z daną klasą. Trzeba to zrobić ręcznie przy pomocy require. Istnieje jednak magiczna funkcja __autoload(). Jak ją stworzysz, to zostanie wywołana za każdym razem, gdy klasa nie zostanie znaleziona, żeby funkcja ta załadowała plik z nią.

Symfony ma swoje __autoload() w app/autoload.php. Autoload ten ładuje klasy z katalogu vendor/
  • Odpowiedz
Mireczki z #webdev i #symfony2

Piszę właśnie mały projekt ( ͡° ͜ʖ ͡°)- ma to być bardzo prosty lms
Mam skonfigurowanego fosusera i sonatę więc już basicsy
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wojjaskula: kolega wyżej dobrze poleca ci Tree z doctrine extensions. Zainstaluj sobie do tego bundle stof/doctrine-extensions-bundle (i poczytaj o nested set, jeżeli nie wiesz jak to działa).

Do uploadu plików powiązanych z wpisami w bazie radzę użyć bundla. Spróbuj vich/uploader-bundle.
  • Odpowiedz
#php #symfony2

Czy można zrobić w symfony pole które ma pogrupowane checkboxy ale typu entity? Czy trzeba wczytać dane do tablicy i potem zrobić pole choice? Wiem że w choice się da robiąc tak:
$choices = array('grupa 1' => array('a', 'b', 'c'), 'grupa 2' => array('d', 'e', 'f'))

Wiem że można przez themes jakoś i przekazać do theme kompletne wartości z bazy a nie tylko id i value.
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

W kontrolerze przekazuję entity manager do konstruktora formularza i dalej do mojego custom field w formularzu.


@gajowy_marucha: To możesz sobie uprościć: wstrzykuj EM w konstruktorze Type'a i zarejestruj go w DIC: http://symfony.com/doc/current/book/forms.html#defining-your-forms-as-services

W ten sposób kontroler nie musi pośredniczyć w przekazywaniu zależności. ta sama idea dla transformersów – możesz je wstrzyknąć w konstruktorze Type'a, a same transformersy oczywiście mogą dostać EM także w konstruktorze.

BTW, jak masz chwilę, to proponuję,
  • Odpowiedz
#symfony2 no to teraz formularze...

$product = $this->getDoctrine()
->getRepository('PolAppBundle:Reg')
->findOneByBest(1);


$bestRegistrar
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#symfony2 #sonata
jak zrobić formularz do wysyłania plików w sonata admin panel bez tworzenia klasy?
Potrzebuję formularz który przyjmie plik csv i załaduje go do bazy, nie ma potrzeby przetrzymywania pliku na dysku po zakończonym uploadzie
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@qwelukasz: a no to o tym nie wspomniałeś. I chcesz to zrobić z poziomu sonaty ? W takim razie musisz nadpisać widok sonaty, zrobić zwykły formularz z typem file, do tego nowy kontroler i zrobione :)
  • Odpowiedz
@qwelukasz: no tak ale jeśli nie chcesz zapisywać tych plików (tak żeby użytkownik widział że plik został dodany) to będzie to conajmniej dziwnie wyglądało jak użytkownik chcąc wrzucić plik będzie musiał kliknąć w admina, później pojawi mu sie pusta tabelka, później musi kliknąć w dodaj nowe a po dodaniu dalej będzie miał pustą tabelke :)
  • Odpowiedz
#symfony2 #php troche #programowanie
muszę zaimplementować w symfony komunikację poprzez API z kilkoma serwisami... - jak właściwie powinienem to zrobić i od czego zacząć?
Komunikacja odbywa się poprzez SOAP, wygląda to sandardowo, logowanie, podpisanie żądania itp...
może ktoś dać jakiś zarys?
Teoretycznie dobrze by było z tego zrobić osobny bundle co by było reusable w przyszłości ale to nie ten level here...
Czy powinienem to zrobić
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#symfony2 #php

kolejne pytanie z serii "głupich"...

Załóżmy że strona dzieli się na 3 główne części:
- home (główny szablon z info o stronie i zamawianiem produktu)
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@qwelukasz:

używaj tylko jednego bundla głównego, poza 1 AppBundle w którym masz całą logikę biznesową projektu, kolejne traktuj jako pluginy, czyli elementy które będziesz używał w wielu miejscach, taka jest ogólnie idea bundlii

innymi słowy bundle nie służą do tego by oddzielać warstwy aplikacji, tylko po to by tworzyć komponenty do ponownego użycia (np. newsletter, drukowanie faktury itd.), jeżeli nie ma sensu, potrzeby ponownego użycia czegoś w innym projekcie bundle jest
  • Odpowiedz
@qwelukasz: próbuj w trybie incognito i po próbie zamykaj incognito i ponownie ;) wtedy i ciacho i sesja będzie nowa i nie będzie sytuacji jak któreś jest gdzieś zapisane i ci nie zmiena
  • Odpowiedz
#symfony2
Mam encje A, B, C oraz Trio. W encji Trio przechowuję relację ManyToOne do A, B i C. Chciałem zrobić custom field w którym wybieram A, B i C a otrzymuję Trio (lub błąd że takie Trio nie istnieje).

TrioType.php

public function buildForm(FormBuilderInterface $builder, array $options)
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treść przeznaczona dla osób powyżej 18 roku życia...
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@DiKey: Dobra, więc jeśli faktycznie pytasz jak „zrobić to dobrze”, to tak jak pisałem wcześniej, Symfony nie ma (aż takiego) znaczenia: Twoim zadaniem z dziedziny architektury oprogramowania jest:

* zidentyfikować potrzeby klienta
* opisać te potrzeby za pomocą kodu (model, use case'y)
* dorobić szczegóły techniczne jak persystencja czy UI (widoki, routing, etc – to „tylko” warstwa
  • Odpowiedz
@kiler129: No to IMHO:

1. Na pewno zrób do tego dedykowane polecenie.
2. Dodatkowo możesz się podpiąć pod Symfonowe.

Ad2: tak jak już znalazłeś, podpiąć się
  • Odpowiedz
#php #symfony2 #programowanie
Mam problem z tym bugiem w Symfony: https://github.com/symfony/symfony/issues/11596

Ma ktoś jakiś pomysł jak wymusić przypisanie błędów do formularza za formularzem z inherit_data=true? Próbowałem ręcznie wywołać validatora a potem przypisać wyniki za pomocą ViolationMapper ale wywołane addError na takim formularzu za nieszczęsnym formularzem z inherit_data=true zdaje się nie działać.

Ktoś coś? Miał ktoś podobny problem?
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach