Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony2][Jquery]Dynamiczne zakladki i ich zapis
Forum PHP.pl > Forum > PHP > Frameworki
marcio
Witam mam za zadanie zrobic cos na wzor tego: http://www.jankoatwarpspeed.com/examples/dynamic_tabs/# http://demo.superdit.com/jquery/dynamic_tab.html

Czyli w bazie mam konfiguracje roznych grup(zasobow) i musze stworzyc taki ui tabs za pomoca jquery i po nacisnieciu przycisku "Zapisz" ma sie zapisac tylko zasob ktory przegladalismy.

Poki co nie mam zbytnio kodu bo w symfony raczkuje od 3dni jednak chcialem zapytac sie o sama idee.

Tak by wygladal routing:
Kod
cms_configuration:
    pattern: /konfiguracja/{group}
    defaults: {_controller: MeritooBackendCmsBundle:Configuration:index}
    requirements:
        group: \d+
        _method:  GET
        

cms_configuration_save:
    pattern: /konfiguracja/{group}
    defaults: {_controller: MeritooBackendCmsBundle:Configuration:save}
    requirements:
        group: \d+
        _method:  POST

Czyli gdy dostajemy zadanie GET wyswietli nam pelny panel razem z zakladkami gdy jednak zapiszemy powinna zapisac sie tylko zawartosc zakladki ktora przegladamy w tym momencie.

Problem polega na tym ze nie wiem jak przechowywac informacje ktora grupe edytuje...jak w jquery mozna zmienic aktualny adres url zeby po zmianie zakladki zmienic id grupy..

Lub czy ktos z was zna jakies lepsze rozwiazanie?
destroyerr
W każdej zakładce tworzysz inny formularz, a w kontrolerze rozpoznajesz czego on dotyczy, np. na podstawie dodatkowego parametru w query lub jakieś ukryte pole. Z repozytorium wyciągasz konkretną encję i aktualizujesz przy użyciu obiektu formularza.
marcio
Ok poradzilem sobie mam inny problem a moze raczej watpliwosci.

Zrobilem sobie klase typu Entity:
  1. namespace Meritoo\Cmf\ConfigurationBundle\Entity;
  2.  
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Gedmo\Mapping\Annotation as Gedmo;
  5.  
  6. /**
  7.  * Meritoo\Cmf\ConfigurationBundle\Entity\Values
  8.  *
  9.  * @ORM\Table(name="cmf_configuration_group_items_values")
  10.  * @ORM\Entity(repositoryClass="Meritoo\Cmf\ConfigurationBundle\Repository\ConfigurationRepository")
  11.  */
  12. class Values {
  13.  
  14. /**
  15.   * @var integer $id
  16.   *
  17.   * @ORM\Column(name="id", type="integer")
  18.   * @ORM\Id
  19.   * @ORM\GeneratedValue(strategy="AUTO")
  20.   */
  21. private $id;
  22.  
  23. /**
  24.   * @var string $group_id
  25.   *
  26.   * @ORM\Column(name="group_id", type="integer")
  27.   */
  28. private $group_id;
  29.  
  30. /**
  31.   * @var string $item_id
  32.   *
  33.   * @ORM\Column(name="item_id", type="string")
  34.   */
  35. private $item_id;
  36.  
  37. /**
  38.   * @var string $values
  39.   *
  40.   * @ORM\Column(name="values", type="string", length=200)
  41.   */
  42. private $values;
  43.  
  44. //i tutaj gettery/settery

W bazie utworzylem tabele razem z kolumnami ale jak robie:
  1. $repo = $this->getDoctrine()->getRepository('MeritooCmfConfigurationBundle:Values');
  2. $data = $repo->findBy(array('group_id' => $groupCfg->getId()));

Dostaje blad:
Cytat
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mrto_cms.cmf_configuration_group_items_values' doesn't exist

Wtf?

Czy problem jest bo nie zrobilem update-u za pomoca konsoli?Jest to obowiazkowe jesli wszystko zrobilem recznie?

update
kudlatypawelek
Jest dokładnie tak, jak mówisz. Musisz komendami konsoli przebudować schemat bazy danych, wtedy też pojawią się nowe tabele.
marcio
Nie nie jest ok zrobilem wszystko recznie i hula.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.