Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS]Wczytanie podstrony do diva
Forum PHP.pl > Forum > Przedszkole
greenway
Elo, otóż mam pewien problem, z którym nie mogę sobie poradzić. Dlatego też zwracam się do Was. Robię sobie właśnie stronę opartą o divy. Mam problem, ponieważ nie mogę wczytać zawartości podstrony do diva o nazwie colTwo. Spróbuje to lepiej wyjaśnić. Przykładową stroną może być ta TUTAJ . Jesteśmy na stronie głównej i przechodzimy do my arts i zawartość otwiera się tam gdzie przed chwilą newsy tylko jako inna podstrona. Chyba zrozumieliście. Tutaj dam również zawartość moich plików.
Arkusz: TUTAJ
Index: TU
Chce wczytać np. Linki, które są w panelu obok, w menu. Dla pewności dodam, że podstrony wczytuje poprzez kod php:
Kod
<?php

if($_GET['id'] == 'linki')
{
include('linki.php');  
}

?>


Aha i zauważyłem, że jak dam ten kod php w indexie np. pomiędzy
Kod
<div class="post">
<h1>Drugi test!</h1>
<p>Jak w temacie</p>
</div>

to ta podstrona wczytuje się razem z tym elo itd. A u tego Noruless'a jest osobno i
nagłówek jest inny. Mam nadzieję, że udało mi się wytłumaczyć o co mi chodzi. Dodam, iż
szukałem na google i na forum, były tematy podobne, jednak tam rozwiązania były nieskuteczne u mnie.
Qleer
A czy nie lepszym rozwiązaniem był by ajax w tym wypadku to chyba mała różnica ?
Może więc ajax snitch.gif ?
nithajasz
Ajax i ajax.. nie do wszystkiego się daje ajax, ja wiem, że jest fajny cudowny i ogólnie taki sympatyczny ale bez przesady...

Co do ładowania strony w odpowiednim divie dam Ci prosty przykład chyba...

  1. <?php
  2. if(isset($_GET['page']) 
  3. {
  4. include_once '/templates/'.$_GET['page'].'.tpl';
  5. }
  6. $content = ob_get_contents(); 
  7.  
  8. $_TEMP['content'] = $content; 
  9.  
  10. include '/templates/main.tpl';
  11. ?>


main.tpl to główny szablon Twojej strony..

  1. main.tpl
  2.  
  3. <div id="top"></div>
  4. <div id="content"><?PHP echo $_TEMP['content']; ?> </div>
  5. <div id="footer"></div>


Oczywiście to jest uproszczone bardzo smile.gif

CSS nie służy do umiejscawiania ładowanej treści w formie wyświetl mi to tu a to tu. CSS jest do wymodelowania wyglądu strony + tam ewentualnych parę bajerów typu rozsuwane menu etc...
greenway
Dzięki koledzy za odpowiedź, co do ajaxu to dla mnie czarna magia, więc z tym sobie raczej odpuszczę. Ale mam pytanie do nithajasz'a, w dużej mierze rozumiem ten kod, jednak teraz trochę zgłupiałem. Lepiej zrobić część kodu od nowa, która będzie wczytywała podstrony do odpowiedniego diva, czy ten co mam da radę przerobić tak jak chce ? thx z góry biggrin.gif
cbagov
Robisz kod, ktory generuje ci odpowiedniego diva i albo go inkludujesz czy tez wklejasz przez szablon albo nie. Ajax na koncu, chyba, ze serwis masz oparty na ajaxie.
greenway
Czyli mam rozumieć, że warto napisać odpowiedni skrypcik do nowa ? A ten ajax to musi być, bo kolega wyżej podawał przykład w php bez wykorzystania ajaxu i jest w porządku Jakoś nie mam chęci do szybkiej nauki tego języka.
nithajasz
A po co ajax do ładowania treści na strony? Naprawdę co niektórzy przesadzają z ajaxem na stronach i później to wygląda jak wygląda, niby fajnie super efektownie ale jednak do niczego. Nawet biblioteki z ajaxem nie mają swoich stron całkowicie opartych na ajaxie.

Co do tego czy da przerobić..

Pewnie, że da rade Twój kod tak przerobić.

1. Tworzysz sobie index.php, który będzie tak jakby Twoim głównym plikiem bo będziesz się do niego odnosił i z tamtad będą szły polecenia co wstawić etc. (coś na wzór tego co podałem).
2. Jako GET podajesz co chcesz związanego ze stronami (warto zrobić sobie jakiś plik czy tablice ze stronami by porównywać czy taka podstrona u Ciebie istnieje).
3. Robisz sobie jakiś folder z templates i dajesz tam jeden szablon główny coś jak layout.
4. Ładujesz pod stronę do bufora, później ładujesz layout i wrzucasz do niego w odpowiedniego div zmienną w której przechowujesz dane z bufora.

Kwestia tego gdzie tą zmienną wstawisz tam się w layoucie wyswietli. Co fajniejsze jak zwrócisz uwagę to bufor nie ogranicza Cię do jednej akcji może być ich kilka więc można w prosty sposób zrobić z tego fajną stronę.

Więc tak jak na tym przykładzie co pokazałem. U mnie zawartość podstrony powiedzmy jakieś news jest includowana z pliku news.tpl, całość tego co zawiera ten plik przekazywana jest do bufora,który nastepnie zapisuje do zmiennej $_TEMP['content'] a tą zmienną w wybranym przez siebie miejscu wyświetlam w głównym szablonie. W zależności gdzie ją wstawie tam się wyświetli.

Proste.. smile.gif
greenway
Thx wszystkim za pomoc, problem rozwiązałem, temat można zamknąć. Pjoona biggrin.gif
altar
Cytat(nithajasz @ 1.07.2008, 00:22:19 ) *
Ajax i ajax.. nie do wszystkiego się daje ajax, ja wiem, że jest fajny cudowny i ogólnie taki sympatyczny ale bez przesady...

Co do ładowania strony w odpowiednim divie dam Ci prosty przykład chyba...

  1. <?php
  2. if(isset($_GET['page']) 
  3. {
  4. include_once '/templates/'.$_GET['page'].'.tpl';
  5. }
  6. $content = ob_get_contents(); 
  7.  
  8. $_TEMP['content'] = $content; 
  9.  
  10. include '/templates/main.tpl';
  11. ?>


main.tpl to główny szablon Twojej strony..

  1. main.tpl
  2.  
  3. <div id="top"></div>
  4. <div id="content"><?PHP echo $_TEMP['content']; ?> </div>
  5. <div id="footer"></div>


Oczywiście to jest uproszczone bardzo smile.gif

CSS nie służy do umiejscawiania ładowanej treści w formie wyświetl mi to tu a to tu. CSS jest do wymodelowania wyglądu strony + tam ewentualnych parę bajerów typu rozsuwane menu etc...


witam, mam prosbe, czy ktos moglby mi wytlumaczyc ten kod i ten temat bardziej lopatologicznie bo nie moge tego zrozumiec, a temat mnie zainteresowal.

Pozdrawiam, Robert
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.