Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Szablony] Pobieranie zmiennych
Asmox
post
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Witam,
wpadłem na oryginalną koncepcję średniej strony internetowej jednocześnie wykorzystując szablon, a w plikach dołączeniowych nadawać zmiennym odpowiednie wartości. Niestety mam pewien problem, mianowicie mając taki kod:
  1. <!DOCTYPE
  2. html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  3. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  4. <!--DOCTYPE-->
  5. <html>
  6. <head>
  7. <title><?php echo "Zmienna $title"; ?></title>
  8. </head>
  9. <body>
  10. <?php
  11. if (!empty($_GET['page'])) {
  12. include ($_GET['page'].".html");
  13. }
  14. ?>
  15. </body>
  16. </html>

Dużym problemem jest to, że zmienna $title jest w plikach dołączanych i w związku z tym zanim się ona załaduje, tytuł jest już gotowy ale bez tej zmiennej. Czy ma ktoś z was pomysł na rozwiązanie tego problemu ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Asmox
post
Post #2





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Znaczy jeśli chodzi o includowanie plików, to te linijki miały po prostu oznaczać, że ten kod ma się tam pojawić (zastosowałem już mechanizmy zabezpieczające i tak dalej, tylko wpisałem taki prosty kod, aby wszystko było przejrzyście). Więc o to się nie musicie martwić. Bardziej mnie martwi jak wyciągnąć tą zmienną.
Ten napis Zmienna wpisałem, ponieważ na początku myślałem, że nic się w ogóle nie chce pojawić. Nie wiem, czy dobrze mnie zrozumieliście, więc może wytłumaczę jeszcze raz:
Każdy plik, którego mogę wrzucić treść do szablonu ma na samym początku zmienną z opisem tytułu. Nie mogę jednak go wgrać, ponieważ najpierw jest pobierana zmienna z tytułem (której jeszcze tak naprawdę nie ma), a potem jest includowana treść razem ze zmienną.

Mephistofeles o .html też się nie martw - w konfiguracji serwera dopisałem linijkę przetwarzającą kod php także w plikach z rozszerzeniem .html

Sorry, że odświeżam, ale jakoś nikt mi nie odpowiedział, a problem został :/ . Żeby nie było, że chcę gotowca, wymyśliłem parę rozwiązań.

ROZWIĄZANIE I
Utworzenie pliku na przykład strona.phtml, w którym są zmienne, używane w szablonie:
1. Przez zmienne:
  1. <?php
  2. $strona_title = "Przykładowy tytuł strony";
  3. $strona_meta_content = "cośtam cośtam cośtam";
  4. $strona_content = "Tekst, linijka 1
  5. Linijka 2
  6. Linijka 3";
  7. # Albo jeśli tak nie można to
  8. # $strona_content = "Tekst, linijka 1 "
  9. # . "Linijka 2 "
  10. # . "Linijka 3 ";
  11. ?>

2. Przez tablice asocjacyjne
3. Przez utworzenie klasy page, i różnych fajnych pól/metod

ROZWIĄZANIE II
Polegałoby na tym, aby wszystkie potrzebne rzeczy, które mogą się różnić, trzymać w bazie danych, na przykład tabeli pages
Kod
|page_id|page_title|page_content|
itd...
1. Dzięki klasie pobierać te dane i potem je wrzucać w odpowiednie miejsca.
2. Używać statycznych funkcji zwracających dane. albo wypisujących je w odpowiedniej postaci.

Które rozwiązanie by nie było najlepsze, najchętniej (nie koniecznie) zrobiłbym to używając OOP, ponieważ wydaje mi się to dobrym rozwiązaniem.

A może wy macie jakiś sposób ?

Ten post edytował Asmox 12.03.2009, 22:22:37
Go to the top of the page
+Quote Post

Posty w temacie
- Asmox   [Szablony] Pobieranie zmiennych   12.03.2009, 21:21:28
- - Mephistofeles   Eee, jak zmienna może być ustawiana w .html ? Chyb...   12.03.2009, 21:36:44
- - marcio   Nom daj tam jakis basename() chociaz albo statyczn...   12.03.2009, 21:51:49
- - Asmox   Znaczy jeśli chodzi o includowanie plików, to...   11.04.2009, 21:32:28
- - erix   A nie możesz po prostu wdrożyć modelu MVC?   11.04.2009, 22:04:11
- - Asmox   ok tylko nie wiem za bardzo jak to zrobić. Nie mów...   12.04.2009, 21:17:27
- - erix   Cytatok tylko nie wiem za bardzo jak to zrobić. Ni...   14.04.2009, 10:27:41
- - MWL   MVC jest proste, najlepiej przyjrzyj się istniejąc...   14.04.2009, 16:04:04
- - Asmox   Powiem tak: Wiem co to jest model MVC, jak działa ...   14.04.2009, 20:01:05
- - erix   CytatCzy moglibyście mi podpowiedzieć, jak można b...   14.04.2009, 20:36:42
- - guitarnet.pl   na poczatek przeklep linijka po linijce i zobacz j...   14.04.2009, 21:10:45
- - Asmox   No już coś kojarzę coraz lepiej z t...   1.06.2009, 17:52:17
- - erix   CytatSorry, że marudzę, ale na razie jakoś mnie od...   1.06.2009, 21:30:34
- - Asmox   Już żeby nie zakładać nowego tematu to będę dalej ...   20.06.2009, 19:05:01
- - erix   Cytat1. Na czym polega ta cała "wymienność wi...   20.06.2009, 19:34:32
- - MWL   Kiedyś też miałem z tym straszne problemy (każdy k...   20.06.2009, 20:14:51
- - Asmox   Jeszcze mam pytanie w sprawie tego co napisał erix...   20.06.2009, 20:52:47
- - erix   CytatCzyli jeden kontroler może obsługiwać tylko j...   20.06.2009, 21:02:42
- - Asmox   Zobaczcie jeszcze na mój edit   20.06.2009, 21:05:10
- - erix   CytatNie wiem, czy model miałby się zajmować załąc...   20.06.2009, 21:08:35
- - Pr0100   jeżeli nie możesz zrozumieć MVC to ...   21.06.2009, 01:19:48
- - Asmox   W porządku znam już trochę smarty. Fajne szablony ...   21.06.2009, 09:59:33
- - Pr0100   CytatI czy dobrze rozumiem - to widok ma pobiera...   21.06.2009, 13:47:09
- - Asmox   Już zaczyna mi coś świtać w głowie . A co to jest ...   21.06.2009, 16:56:58


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: 11.10.2025 - 12:42