Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edycja zawartości tablic array - pobieranie kluczy
Forum PHP.pl > Forum > PHP
wujek2009
Cześć.

Mam pliki z tłumaczeniami (tzn. langi) i teraz chciałbym z poziomu panelu admina umożliwić ich edycje administratorowi. Niby nic prostego, ale pliki z tłumaczeniami często mają różnią strukturę (kilka poziomów zagłębień - przykłady niżej) - i teraz potrzebuje zwrócić klucze dla danej tablicy, aby móc użyć ich jako parametr "name" dla pola textarea. Tylko obecnie nie mam pomysłu na realizacje tego - może ktoś mi podsunąć pomysł?
  1. # plik1
  2. return array(
  3. 'hello' => 'Witaj użytkowniku :login',
  4. 'logout' => 'Wyloguj się',
  5. );
  6.  
  7. # wygeneruje textarea w postaci:
  8. <textarea name="hello">Witaj użyktown...(...)</textarea>
  9. <textarea name="logout">Wyloguj się</textarea>


Powyższy przykład nie stanowi problemu, dopiero jak tablica ma kilka zagłębień:
  1. # plik2
  2. return array(
  3. 'username' => array(
  4. 'unique_name' => 'Twoj login nie jest unikalny',
  5. 'min_length' => 'Twój login jest zbyt krótki',
  6. ),
  7. );
  8.  
  9. # powinno wygenerować textarea:
  10. <textarea name="username[unique_name]">(...)</textarea>
  11. <textarea name="username['min_length']">(..)</textarea>


Inny przykład, który również mnie dotyczy;
  1. return array(
  2. 'home' => array(
  3. 'index' => array(
  4. 'title' => 'Tytul podstrony',
  5. 'description' => 'Opis strony',
  6. ),
  7. ),
  8. );
  9.  
  10. # textarea fields:
  11. <textarea name="home[index][title]">(..)</textarea>
  12. <textarea name="home[index][description]">(..)</textarea>


Ma ktoś pomysł na realizacje tego? - potrzebuje nadać taki parametr "name" dla pól textarea, ponieważ podczas zapisu tłumaczeń (edycji) łatwiej będzie mi zbudować nowe/edytować plik z tłumaczeniem.
Crozin
Google: php flatten array
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.