mam stronę podzieloną na 3 części: top, element główny i menu po lewej stronie.
Chodzi mi o to żeby po kliknięciu na link w menu po lewej stronie otwierał się w elemencie głównym. Np. Link news /prowadzi do pliku news.php/ i narazie otwiera mi się w nowym oknie/zakładce przeglądarki a ma otworzyć się w konkretnej części strony jaką jest element główny. Nie mam pojęcia jak takie coś zrobić /koniecznie w PHP/.
heja. jak to sie nie da? wszystko się da zrobić slyszałeś np: o funkcji include(); tam umieszczasz cały kod związany z ustawieniem strony tj. menu, grafika itp. a potem to tylko dołączasz do skryptu np. jak u ciebie news.php oczywiście na początku strone najlepiej podzielić według jakiegś schematu tabel i jazda :mrgreen:
zastosowanie szablonów (stworzyć własny mechanizm i wysyłać do szablonu dane, następnie je zwracać i wyświetlać … (zaawansowane, ale BARDZO przydatne).
zabawa switchem - żonglujesz akcją wysłaną metodą GET
(zamiast mordowanie się z ifami + include etc.)
przykład ?
jak widać wyżej - możesz np. przesłać funkcję odpowiedzialną za wyświetlenie newsów,
albo dołączyć plik …
Teraz link wyglądać musi mniej więcej tak:
download
news[/code]
Na duży serwis - zapomnij o tym
Nie jest to wygodne rozwiązanie, a nadawać się może co najwyżej na małe projekty - strona prywatna itd.
Jeśli to ma być tzw. CMS, to nie wyobrażam sobie dodawania działu poprzez wklepanie case nowydzial itd.
Stosować się to opłaca (wg. mnie) w podstronach - zamiast tworzyć dziesiątki plików - dodajnewsa.php, skasujnewsa.php, edytujnewsa.php itd. skoro można to zrobić w jednym zaledwie pliku
Wszystko zależy jak my to sobie stworzymy … po prostu musi działać nasza wyobraźnia
Jeżeli jest to używane do żonglerki funkcjami itd. a wartości są stałe, to dlaczego nie
Tak jak wyżej wymieniłem - wszystko od konstrukcji zależy,
ale ktoś kto nie zna ‘szerzej’ php i bazy danych, to niepowiedziałbym czy to w 100% trafne rozwiązanie
Szybkość działania tego rozwiązania jest jednak spora,
ale dużo wygodniej jest stosować system szablonów…
Oczywiście nie ma mowy tutaj o żadnym gotowym rozwiązaniu, ponieważ … nie chcemy by nasz serwis ktoś za pomocą kawałka kodu rozebrał na części składowe …
Poza tym pewnie każdy z Was słyszał o Smarty… czy wygląda to na łatwe do implementacji na www? Czy jest to na tyle “szybkie” rozwiązanie, że nie będzie odczuwalna praca serwera ? (nawet przy małym ruchu - będzie widoczna)
Jak ktoś zobaczy stertę komend, które trzeba wklepać, to tak jakby zupełnie nowy j. programowania …
Dlaczego klasy templates mają przewagę ?
podam przykład jaki ja stosuję …
na górze każdego dokumentu:
require_once(‘class.php’);
na dole:
$theme = new template();
$theme->display(‘templates/default/default’);
$theme->replace(’{tresc}’, ‘’.$tresc.’’);
$theme->return_template();
gdzie wcześniej w zmiennej $tresc przechowuję wszystkie dane, które mają się znaleźć w polu na zawartość strony …
Tutaj bardzo pomocne jest dopisywanie do zmiennej …
$tresc .=‘komunikat’;
w szablonie strony po prostu w miejscu na treść wstawiam {tresc} i wszystko zrobione
Jest to na tyle elastyczne rozwiązanie, że bezproblemowo można tworzyć szablony,
zrobić automatyczne wczytywanie w dane miejsce danych rzeczy …
Przesyłać funkcje itd.
Jeśli ktoś chce, to mogę odpalić webserva i pokazać co i jak
Oczywiście, że nie ma najmniejszego sensu tworzyć mnóstwa plików jeśli w jednym możesz zawrzeć np wszystkie operacje dotyczące kasowania, dodawania czy edycji danych. W pełni się z tym zgadzam.
Inna sprawa, że tak też można zrobić, zresztą też jest to często praktykowane. Załóżmy, że masz kilka plików dotyczących właśnie edycji, kasowania itd…
Tworzysz plik np: edycja.php w którym includujesz je wszystkie i później w projekcie jeśli potrzebujesz mieć dostęp do tychże opcji, includujesz tylko i wyłącznie plik edycja.php. Bez problemu to będzie działać, widziałem już duże projekty tak właśnie działające i wcale nie są jakoś specjalnie wolne. Stosowanie np Smarty też wcale do najszybszych zabawek nie należą.