Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Kontroler bloków
Forum PHP.pl > Forum > Przedszkole
cer98
Jak powinien wyglądać ? Chodzi o lewą, prawą stronę. Jeśli za przykład wzięlibyśmy kontroler user, to odpowiada on za stronę środkową. Jak napisać klasę Blocks, żeby kontrolowała bloki prawa i lewa ? Każdy block miałby swoją nazwę i id w bazie. Ma ktoś jakiś przykład ?
CuteOne
yyy a czym są te kontrolery bloków... questionmark.gif
cer98
Miałbym w bazie tabelę na boxy:
id|name|side|content|...|

Widok wczytywałby template, w postaci miejsce na górę, dół, prawo i lewo.

Następnie Widok wczytałby boksy, w których w bazie jest lewo-user, prawo-user itd. ?


Druga myśl, to czy zawartość tych boksów wczytywać z bazy, czy to jest obiekt, który trzeba utworzyć i przekazać widokowi ? Taki kontroler, który trzeba wywołać ?
Niktoś
Taką zasadę w prosty sposób mógłbym uzyskać w CSHTML(c#+Razor Syntax),gdzie można renderować każdy blok osobno(nagłówek,ciało,stopke itp.)W PHP odpowiednikiem Razor Syntax z tego co udało mi się przeczytać jest YIIFramework:
http://www.yiiframework.com/extension/razorviewrenderer -wartałoby to zobaczyć.
cer98
Niktoś a coś dla mniej wtajemniczonych ? Np. proste objaśnienie, jak kontrolować bloki lewa i prawa część strony we frameworku ?
Niktoś
Jeśli chciałbyś użyć tego frameworka i aby zrealizować cele ,które sobie założyłeś to musiałbyś się bardziej zainteresować Views(widokami),a dodatkowo w tym frameworku metodą render lub partial render.
http://www.yiiframework.com/doc/api/1.1/CC...r#render-detail.
Ech to co chesz uzyskać to już nazywa się model MVC-trochę słabo się na tym znam,może ktoś inny bardziej pomoże wink.gif
cer98
To znaczy mam już cacheowanie nawet, tylko bez boksów, nie wiem jak to wykonać. Po prostu przesyłam zmienne do widoku, funkcja extract wszystko ładnie działa. Prawdopodobnie widoki powinny być obiektami w kontruktorze klasy View i powinny być wkładane jak klocki w template. Więc musiałaby to być pętla i trzeba by wypisać te bloki według tego, co baza mówi. Wie ktoś coś więcej ?
/
Niktoś
Radziłbym swój projekt chwilowo przerwać i szerzej zainteresować się tym frameworkiem,poćwiczyć w nim ,a później spróbować wdrożyć swoje rozwiązania lub je przerobić ,bo ta myśl:
Cytat
Druga myśl, to czy zawartość tych boksów wczytywać z bazy, czy to jest obiekt, który trzeba utworzyć i przekazać widokowi ? Taki kontroler, który trzeba wywołać
?

Zapisywać strukturę html'a do bazy danych?Nie widziałem ,żeby ktoś to robił,pomysłowe to to nie będzie ,wydajne tym bardziej.

cer98
Więc trzeba utworzyć obiekt lub obiekty i wpakować je w miejsce na boksy w template. Jak to wykonać ma ktoś wiedzę ?
Niktoś
Może przedstaw kod lub jego ważniejsze części to ktoś Ci bardziej pomoże.
cer98
Kod bloku DIV pobierany jest z Block.php w zależności od tego pobiera z bazy danych wszystkie lewe po kolumnie side i wypisuje:

  1. SELECT * FROM blocks WHERE side=LEFT AND module=user


  1. <DIV name="$name">
  2. // dla kazdego inna tresc
  3. </DIV>
  4.  
  5.  
  6. Controller_top5{
  7.  
  8. // return array
  9.  
  10. }
  11.  


Więc musi być kontroler od bloku, który wyśle zmienne (oprócz nazwy i stylu bloku, bo to idzie automatycznie z routera jako rozpoznanie kontrolera, czyli template) i oddzielny widok. Te widoki byłyby wszyte w template, czyli ramy wyglądu strony.

Jedna template to user, druga files ?

Może jedna strona templste i wypisać w widoku wszystkie bloki z side np. prawa po prawej ? Za środek odpowiada właściwy kontroler.

Może mnie ktoś poprawić, jak to ma profesjonalnie wyglądać ? Czytałem o Composite View, view Helper, ale niewiele było tego w sieci.
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.