Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Własny system template'ów, zagnieżdżenie
zaksmok
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 2
Dołączył: 12.01.2006

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


Witam, mam sobie własny system szablonów, podobny troszkę do SMARTY. Napisałem sobie funkcję do podmieniania zawartości w zależności od wartości zmiennej.

A konkretnie szablon wygląda tak:
  1. {SESSION:LOGGED=1}Jesteś zalogowany{/SESSION}
  2. {SESSION:LOGGED=0}Jesteś niezalogowany{/SESSION}

i wszystko pięknie działa, ale problem pojawił się gdy musiałem zagnieżdzić jeden warunek w drugim
  1. {SESSION:COOKIE=1}
  2. {SESSION:LOGGED=1}Jesteś zalogowany{/SESSION}
  3. {SESSION:LOGGED=0}Jesteś niezalogowany{/SESSION}
  4. {/SESSION}

Musiałbym skorzystać tutaj z rekurencji funkcji... Czy to jedyne rozwiązanie? I w jaki sposób rozpoznować bloki?
Poprzednio
  1. <?php
  2. preg_match_all("|{SESSION:(.*)=(.*)}(.*){/SESSION}|Us", $template, $wyjście);
  3. ?>

załatwiało sprawę...

Ten post edytował zaksmok 14.08.2008, 14:37:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rzymek01
post
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


możesz uzyc zwykłego preg_replace i każde {SESSION:cos} zamieniac w IFa (czyli tworzysz kod php z template i potem go includujesz) i by wyszlo coś takiego:
  1. if ($_SESSION['COOKIE'] == 1)
  2. {
  3. if ($_SESSION['LOGGED'] == 1)
  4. {
  5. ?>Jesteś zalogowany<?php
  6. }
  7. else // lub if ble ble == 0
  8. {
  9. ?>Jesteś niezalogowany<?php
  10. }
  11. }
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: 6.10.2025 - 10:53