[PHP]odnośnik

Witam, chciałbym zrobić coś takiego:

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/.

Dodam że ramka IFRAME nie wchodzi w grę…

Z góry dzięki

AJAX - inaczej raczej się nie da jeśli IFRAME odpada

No AJAX też można obsługiwać przez PHP ale jak miałby wyglądać taki kod??

heja. jak to sie nie da? wszystko się da zrobić :slight_smile: 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 :wink:oczywiście na początku strone najlepiej podzielić według jakiegś schematu tabel i jazda :mrgreen:

już tego próbowałem nic nie daje…

Co ty mówisz? daje, daje Ja robilem takie stronki i chodziło aż miło :mrgreen: Poszukaj dobrze, po eksperymentuj a zadziała. cwiczenie czyni mistrza

illidanpl można to na kilka sposobów zrobić .

  1. zastosowanie szablonów (stworzyć własny mechanizm i wysyłać do szablonu dane, następnie je zwracać i wyświetlać … (zaawansowane, ale BARDZO przydatne).

  2. zabawa switchem - żonglujesz akcją wysłaną metodą GET :slight_smile:

(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 :stuck_out_tongue:

Nie jest to wygodne rozwiązanie, a nadawać się może co najwyżej na małe projekty - strona prywatna itd.

co to ma być na stronę prywatną…

edit

no nawet ciekawie to działa, dzięki ;]

Bez przeładowania?? Żeby użyć include trzeba przeładować stronę.

Złączono Posta : 15.02.2007 (Czw) 18:25

No w sumie źle zinterpretowałem pytanie. Nie było mowy, że kod ma być bez przeładowania. W takim razie include to też dobre rozwiązanie;]

nie slyszales nigdy o AJAXie ?

wiem ze w tym temacie nie o to chodzi :slight_smile: ale polecam na poczatek SAJAX

Człowieku! A co napisałem w pierwszej odpowiedzi do tematu!

no tak zwracam honor :slight_smile: ale po co od razu wykrzykniki :frowning:

Niby dlaczego się nie nadaje? DobreProgramy są duże czy małe? Generalnie całość działa mniej więcej w ten sposób.

więc wyjaśnię :smiley:

Jeśli to ma być tzw. CMS, to nie wyobrażam sobie dodawania działu poprzez wklepanie case nowydzial itd. :wink:

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 :slight_smile:

Wszystko zależy jak my to sobie stworzymy … po prostu musi działać nasza wyobraźnia :slight_smile:

Jeżeli jest to używane do żonglerki funkcjami itd. a wartości są stałe, to dlaczego nie :wink:

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 :smiley:

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 :slight_smile:

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 :slight_smile:

Ale to na pw (nie będę czegoś reklamował :slight_smile: )

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żą.