Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] generator admina + i18n
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam!
Mam pewien problemik z wersjami językowymi w adminie.
Schemat 2 tabel:
Kod
  attraction:
    _attributes: {phpName: Attraction}
    id:
    icon:        {type: varchar(40), required: true}
  attraction_i18n:
    _attributes: {phpName: AttractionI18n}
    name:        {type: varchar(20), required: true}

czyli nic nadzwyczajnego. Tworzenie i edycję danych załatwiłem z pomocą tego linku. Mam jednak pewien problem z wyświetlaniem listy "atrakcji". Otóż załóżmy, że mamy 3 wersje językowe: PL, ENG, DE oraz 2 rekordy w tabeli "attraction". Każdy z nich posiada wpisaną nazwę dla wersji PL oraz ENG, natomiast nie dla DE. Przechodząc do listy atrakcji w PL mamy ikonkę + napis po polsku (na dole: 2 results), to samo jest dla wersji ENG. Natomiast dla wersji DE nie wyświetla się nic, a na dole nadal jest "2 results".
Wykonywane są zapytania:
Kod
[0.28 ms] SELECT COUNT(attraction.ID) FROM attraction
[2.23 ms] SELECT attraction.ID, attraction.ICON, attraction_i18n.NAME, attraction_i18n.ID, attraction_i18n.CULTURE FROM attraction, attraction_i18n WHERE attraction_i18n.CULTURE='de_DE' AND attraction.ID=attraction_i18n.ID LIMIT 20

Domyślam się, że "2 results" pochodzi z pierwszego, natomiast listę rekordów wyświetla drugie (które nic nie zwraca).
Mój generator.yml:
Kod
generator:
  class:              sfPropelAdminGenerator
  param:
    model_class:      Attraction
    theme:            default
    
    list:
      title: Attractions list
      display: [_icon, name]
      object_actions:
        _edit: ~
        _delete: ~
      peer_method:   doSelectWithI18n
    
    edit:
      title: Attraction form
      display: [icon, name]
      fields:
        icon:
          type: admin_input_file_tag
          upload_dir: attraction
          params:
            include_link: attraction
            include_remove: true
        name:
          params: disabled=false

Pozdrawiam: pion
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pawel_k
post
Post #2





Grupa: Zarejestrowani
Postów: 211
Pomógł: 3
Dołączył: 29.07.2005
Skąd: Szczebrzeszyn

Ostrzeżenie: (0%)
-----


atrybut peer_method służy tylko do pobieranie danych, zmieniasz go jeśli nie chcesz pobierać danych za pomocą standardowego doSelect, a do liczenia liczby kolumn masz osobny atrybut zastępujący domyślny doCount, chyba peer_count_method ale nie jestem teraz w stanie tego sprawdzić, musisz sam poszukac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 21:57