Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przypisanie strony do zmiennej i wyświetlenie jej
Forum PHP.pl > Forum > Przedszkole
Oczko21
Witam,
Chciałbym aby można było wybrać sobie layout strony i korzystać z niego. Wkleje tylko fragment kodu, bo główny problem to nieprawdłowe wyświetlanie.

view.php
  1. class IndexView extends View {
  2. public $layout;
  3.  
  4.  
  5.  
  6.  
  7. public function getLayout()
  8. {
  9. $this->layout = file_get_contents("layout/default/layout.php");
  10. //echo $this->layout;
  11. }
  12.  
  13.  
  14. }


index.php
  1. require_once("view.php");
  2. $view = new IndexView;
  3. $view->getLayout();
  4.  
  5. echo $view->layout;


Problem jaki się pojawia to wyświetlenie strony w trybie Quirks. Nawet jeżeli na samym początku w index.php umieszczę <!DOCTYPE HTML> efekt jest taki sam.

W jaki sposób mogę wyświetlic stronę zgodną z obecnymi standardami w tym podanym przykładzie? Albo inaczej w jaki sposób powinna odbywać się komunikacja z warstwą widoku? Bo jeżeli się nie mylę to w tym przykładzie komunikacja między warstwami wygląda mniej więcej tak:
index->view->layout->index Ale jak widać nie jest to za dobre rozwiązanie, albo coś poknociłem.
bostaf
Cytat(Oczko21 @ 19.05.2012, 16:09:45 ) *
W jaki sposób mogę wyświetlic stronę zgodną z obecnymi standardami w tym podanym przykładzie?

Dodać:
  1. <meta http-equiv="X-UA-Compatible" content="IE=8" />

zaraz po otwarciu tagu HEAD, w pliku layout/default/layout.php.
Artykuły: http://www.kurshtml.edu.pl/css/x_ua_compatible,quirks.html, http://hsivonen.iki.fi/doctype/.
Oczko21
Nie pomogło.
Strona działa i wygląda poprawnie gdy wejdę bezpośrednio do pliku layout/default/layout.php.
Natomiast gdy wczytam ją do zmiennej wtedy pojawia się wyżej wymieniony problem.
bostaf
A to ciekawe. A mógłbyś porównać źródła z przeglądarki w obu przypadkach? Czy czasem któraś metoda z widoku nie nadpisuje nagłówków HTML z layoutu.
Fakt, że HTML przechodzi przez zmienną nie powinien mieć wpływu na wynik końcowy. Jeśli już coś może mieć wpływ, to zmienność zmiennej smile.gif
Oczko21
Wydaje mi się że wiem co jest tego przyczyną. Otóż jeżeli zaincluduje więcej niż 1 plik, przeglądarka wyświetla się w trybie Quirks, podam przykład bo na tym wyżej tego nie widać.
  1. include_once("view.php");
  2. [b]include_once("drugi_plik.php");[/b]
  3. $view = new IndexView;
  4. $view->getLayout();
  5.  
  6. echo $view->layout;


Nie mam pojęcia dlaczego w momencie gdy dołączę, więcej niż 1 plik strona traci zgodność z najnowszymi standardami. Czy powstała jakaś nowa funkcja którą można dołączać kilka plików?. Gdzie mam szukać informacji o tym problemie?
bostaf
Cytat(Oczko21 @ 21.05.2012, 16:31:23 ) *
Gdzie mam szukać informacji o tym problemie?

O jeden post wyżej. Nie zgaduj. Sprawdzaj. Debugowanie polega na oglądaniu wyniku i czytaniu kodu a nie wróżeniu z fusów.

Porównałeś źródło strony w obu przypadkach? Zwłaszcza cały HEAD i to co przed nim (deklarację typu)? Są takie same czy inne?

Nie mówię, że nie masz racji z tym drugim includem ale zanim sprawdzisz przyczyny to sprawdź symptomy. Może być tak, że drugi includ nadpisuje zmienne z pierwszego. Już wiesz, że bezpośrednie wyświetlenie jest OK a przez metodę klasy jest niedobrze. Sprawdź różnice a łatwiej ustalisz przyczynę.
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.