ugrás a tartalomhoz

Átalakítás frame-ekről div-ekre

Ricsee · 2010. Júl. 23. (P), 12.04
Sziasztok!

Belekezdtem egy régebbi, frame alapú weblap modernizálásába. A weblap struktúrája elég egyszerű: fejléc, baloldali menüsáv, tartalom (+ a frissített verzióban már egy jobboldali sáv és egy lábléc is beköszön, de ez most nem lényeg).
Elkezdtem belemenni a css-be (eddig még nem használtam) és sikerült is kialakítani div-ekkel az oldal szerkezetét.
A baloldali menüsávban linkek találhatóak. Ha rákattintok egy linkre, akkor annak a tartalmának a középső, 'tartalom' részben kellene megjelennie. Amíg keretekkel dolgoztam, addig ez pofon egyszerű volt: <a href:\# target='tartalom'>linkszöveg</a> Ugye itt a targetnél egyszerűen megadtam, hogy a 'tartalom' nevű frame legyen a link célja.
És akkor itt kezdődnek a problémáim. Hogyan oldhatom meg ugyanezt egy css alapú, div-ekkel felépített szerkezetű oldalnál? A segítséget előre is köszönöm.
 
1

AJAX

janoszen · 2010. Júl. 23. (P), 12.14
A technológia, amit keresel: AJAX. Ilyen formában csak JavaScripttel tudod kicserélni az oldal egyes részeit. Ha ezt nem szeretnéd, akkor viszont az egész oldalt újra kell generálnod szerver oldalon.
2

SEO

Schmidi · 2010. Júl. 23. (P), 12.29
Arra érdemes odafigyelni, hogy ha egy oldal tartalmát csak és kizárólag AJAX-os lapletöltésekkel lehet elérni, akkor a keresőrobotok a nyitólapon kívül semmi mást nem fognak indexelni.

Az indexelés az
<a href="akarmi.html">Menüpont szövege</a>
tageken keresztül megy végig az oldalon, a JavaScript funkciókon keresztül megvalósított lapletöltéseket nem kezeli.

Tehát pl. ha így néz ki a menüpont,
<p id="menu1">Menüpont szövege</p>
és a menu1 azonosítóra van kötve egy onClick esemény kezelése, az nem lesz indexelhető.

(Megjegyzés: mindenre van megoldás, trükközés, így az optimalizálás megoldható, de az alapelv az, amit leírtam.)
3

nincs egyszerűbb módja?

Ricsee · 2010. Júl. 23. (P), 13.11
No, akkor mutatok egy példát: link

Így szeretném megoldani. Tehát bal és jobb oldalt linkek, amelyek a középső tartalom részben nyílnak meg. Az is div-ekkel van felépítve, mégis működik nekik valahogyan.
4

szerver oldal

firith · 2010. Júl. 23. (P), 13.16
a példa amit mutattál szerver oldali program által van előállítva (PHP)
5

azaz?

Ricsee · 2010. Júl. 23. (P), 13.36
Bővebben? Én kicsit beszélni php-ül is. :)
7

PHP

Schmidi · 2010. Júl. 23. (P), 13.40
10

bahhh

Ricsee · 2010. Júl. 23. (P), 13.51
Már értem, hogy anno miért is választottam a frame-eket. Sokkal egyszerűbb volt megvalósítani. De hát 2010-ben már nem valami elegáns a használatuk, ráadásul direkt linkelni sem lehet a tartalomra frame-ek esetében.
6

Komplett oldal

Schmidi · 2010. Júl. 23. (P), 13.37
Itt úgy van megoldva, hogy az egyes oldalaknak fix a felépítése.

A bal és jobb oldalon mindig fixen ugyanaz a tartalom, a középső rész pedig a lekért menüpont függvényében változik.

Az egyes pontokra kattintva mindig a teljes oldal újratöltődik a menükkel együtt, csak mivel ezek minden lapon ugyanott vannak, ezért állandónak látod őket.

Ennek a hatékony megvalósításához valamilyen szerver oldali nyelvet, pl. PHP-t érdemes használni.
8

a weblabor is ilyen

Ricsee · 2010. Júl. 23. (P), 13.43
Itt, weblaboron is így van. Mászkálok a fórumok között, de a fejléc, a jobb oldali menüsáv meg a lábléc mindig ott marad, csak a tartalom változik.
9

weblaboron se

firith · 2010. Júl. 23. (P), 13.51
nem egészen így van. nem marad ott egyáltalán sem a lábléc, sem a menü sáv, hanem minden oldalra kiteszi a program. minden linkre kattintáskor az egész oldal újratöltődik.
11

merre induljak?

Ricsee · 2010. Júl. 23. (P), 16.38
Értem, értem és én is így szeretném megvalósítani. Most akkor legyen egy php-m amiben az állandó dolgok vannak (fejléc, bal-jobb oldali menü stb) és ezt include-oljam minden egyes tartalmi rész elején? Vagy szépen, részegységenként kell felépítenem a lapokat? Tehát különszedjem az állandó dolgokat (külön fejlec.html, menu.php) és ezeket majd a tartalmi rész előállításakor, mindig a megfelelő helyen include-oljam?


Szerk.: Na közben fejben összeraktam a történetet. Egyelőre megnézem, hogy működik-e, majdha igen, akkor azután megpróbálom include-olni az ismétlődő részeket, hogy ad1: egy fájlban legyenek (csak egy helyen kell változtatni), ad2: ne növeljem fölöslegesen minden egyes kód méretét.