Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Smarty]Jak oddzielic tekst od kodu..., ...w sprawdzajacej czesci skryptu
iMax
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 4.07.2006

Ostrzeżenie: (10%)
X----


Witam, 2 dzien bawie sie ze Smartami. Chce go zastosowac w CMSie, a stanalem w pewnym momecie i nie mam pojecia jak sie z tym uporac.
A wiec mam plik rejestracja.php, ktorego uklad i czesc graficzna znajduja sie w templates o nazwie rejestracja.tpl, ale cala czesc tekstowa, wszystkie komunikaty, bledy itp chcialem trzymac w jednym pliku tpl.
Do sprawdzenia formularza uzylem kilku konstrukcji if, gdzie wszelkie bledy sa przechowywane w tablicy $error, a na koncu sa wyswietlane petla foreach. Jak nie stosowalem smartow to wszystko hulalo. Smarty probowalem wcisnac zamiast gotowego tekstu za pomoca $smarty->assign w pliku php, a w tpl, ktory mial byc skladowiskiem calego tekstu strony uzylem if.. ifelse. Gdy za pomoca $smarty->assign podalem cala tablice nic sie nie pojawialo, a jak dalem sama zmienna $error dzialalo. Nie wiem co robic... Jak wy to oddzielacie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
decha-design
post
Post #2





Grupa: Zarejestrowani
Postów: 415
Pomógł: 46
Dołączył: 26.05.2007
Skąd: Sandomierz

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


A spróbuj tak:

plik *.php
  1. <?php
  2. $errors = array();
  3. if(!check($username)) {
  4. $errors[] = 'error1';
  5. }
  6.  
  7. if(!check($nickname)) {
  8. $errors[] = 'error2';
  9. }
  10.  
  11. if(!empty($errors)) {
  12. $smarty -> assign('errors', $errors);
  13. $smarty -> display('error.tpl');
  14. }
  15.  
  16. ?>


plik error.tpl
  1. {config_load file="configs/error.conf" section="Register"}
  2.  
  3. {foreach item=error from=$errors name=error}
  4. {$smarty.config.$error}<br /><br />
  5. {/foreach}


... powinno działać, lecz musisz utworzyć plik errors.conf w katalogu /configs/:
Cytat
[Register]
error1 = "jakiś tam tekst błędu 1"
error2 = "jakiś tam tekst błędu 2"


... chyba że teksty błędów będziesz dodawał do *.tpl spod pliku *.php, więc obejdzie się bez tego errosr.conf

Ten post edytował decha-design 17.07.2008, 15:54:44
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: 5.10.2025 - 14:34