[php/mysql] Teksty i kategorie - tak jak na 4p

0

Witam :) Zastanawiam się nad taką jedną rzeczą: otóż chciałbym zrobić tak jak to jest na 4p, że są teksty i każdy tekst może być albo tekstem, albo kategorią. Teksty mogą być przypisywane do różnych kategorii, np. PHP/FAQ/Tekst, gdzie Tekst jest przypisany domyślnie do kategorii FAQ (a kategoria FAQ do kategorii PHP), jednak można Tekst dopisać też do innej kategorii, np. Delphi.

Nie chodzi mi od razu o wyświetlanie w postaci http://strona.pl/Kateg/Kateg/Tekst czy http://strona.pl/text.php/Kateg/Kateg/Tekst. Chodzi mi po prostu jak takie coś ma wyglądać, jakieś rady, może jakieś linki? Na przykład, że jak wpiszę http://strona.pl/text.php?id=2 a '2' to ID tekstu z kategorii Delphi (a Delphi to kategoria (jakby też swojego rodzaju tekst) o ID = 1), to wyświetli mi się tekst o ID = 2. Trochę namieszałem, mam nadzieję, że rozumiecie o co mi chodzi? :P

Myślałem, żeby zrobić tabelę 'text', a w niej pola np. id, nazwa, tresc, sciezka, typ, gdzie:

  • id, to oczywiscie unikalny identyfikator w postaci liczby
  • nazwa, to nazwa tekstu/kategorii, np. Tekst
  • tresc, to zawartość tekstu/kategorii
  • sciezka, to np. PHP/FAQ/
  • typ, określa czy to zwykły tekst czy też kategoria ('tekst' albo 'kategoria')

Jednak nie mam większych propozycji co do wykonania tego w PHP, tj. całego engine'u i w ogóle :-/

Pozdrawiam!

0

Ja to robilem tak:

Tabela z artami (kazdy tekst moze byc jednoczesnie kategoria), w niej id, title itp i parent (czyli id rodzica) i wsio. Odpowiednie funkcje do fetchowania drzewka (sciezki) i cos takiego masz.

0
Wolverine napisał(a)

Ja to robilem tak:

Tabela z artami (kazdy tekst moze byc jednoczesnie kategoria), w niej id, title itp i parent (czyli id rodzica) i wsio. Odpowiednie funkcje do fetchowania drzewka (sciezki) i cos takiego masz.

OK, obadam ;) I jeszcze 'typ', żeby okreslić czy to tekst czy kategoria... W każdym razie obadam. Tylko z tym drzewkiem możliwe, że będą problemy :> Ale chociaż po prostu wyświetlam w tekście parenta tekstu o title Tekst (id = 3) , czyli np. FAQ (id = 2) a przed FAQ parenta właśnie tekstu 'FAQ' (id=2), czyli kategorie (tekst) PHP (id = 1). Zobaczymy...
Ma ktoś propozycje jeszcze?

BTW: a zna ktoś jeszcze łatwy sposób na zrobienie takich liniów jak np. http://strona.pl/text.php/PHP/FAQ/Tekst? Wiem, że można to zrobić za pomocą mod_rewrite, tylko jak dokładnie? Na CVS-sie 4p przeglądałem text.php oraz klasę text, jednak niestety chyba trudno by to było zintegrować z własnym systemem, prawda?

0

Ja u siebie w takim starym CMSie nie dawalem zadnego typu, jesli tekst mial jakies "dzieci" to pojawiala sie pod tekstem lista z linkami. Co do linkow, wystarczy takie cos:

RewriteRule ^(.*)$ ?t=$1 [L]

I w $_GET['t'] bedziesz mial tytul tekstu (ktory moze oczywiscie zawierac slashe). http://82.139.12.66/draco/ tak to u mnie wyglada (localhost wiec nie wiem kiedy bedzie dostepne), jak chcesz to moge zrodelko poslac bo stare to to :)

0
Wolverine napisał(a)

Ja u siebie w takim starym CMSie nie dawalem zadnego typu, jesli tekst mial jakies "dzieci" to pojawiala sie pod tekstem lista z linkami. Co do linkow, wystarczy takie cos:

RewriteRule ^(.*)$ ?t=$1 [L]

I w $_GET['t'] bedziesz mial tytul tekstu (ktory moze oczywiscie zawierac slashe).

Dzięki, obadam to ;)

Wolverine napisał(a)

http://82.139.12.66/draco/ tak to u mnie wyglada (localhost wiec nie wiem kiedy bedzie dostepne), jak chcesz to moge zrodelko poslac bo stare to to :)

Widocznie akurat teraz ma serwer off (bo online na 4p jesteś) :) BTW: właściwie to przesyłać nie musisz, bo myślę, że bym sobie poradził, ale jak chcesz to czemu nie ;) Więc będę wdzięczny jakbyś mi przesłał na coldpeer @ gmail.com, zobaczyłbym jak Ty to robiłeś i ew. poprawek dokonał i dostosował do swoich potrzeb.

0
Wolverine napisał(a)

Uploadowalem na 4p: http://download.4programmers.net/Logic_CMS

Hmm... Dzięki, ale problem jest mały ;) Ściągnąłem to archiwum i widzę tam tylko jeden plik tekstowy (4programmers.txt) :-/

0

Moim zdaniem powinienneś to zrobić w oparciu o MySQL, ja przynajmniej tak robiłem. Tabelki redagowane prosto:

Tabela z kategoriami:

+-----------+--------------+
|IdKategorii|NazwaKategorii|
+-----------+--------------+

Gdzie kluczem podstawowym i unikatem jest IDKategorii i osobno tworzona jest tabelka z np artykułami:

+-----------+--------------+-------+----------+----------+----------+
|IdArtykułu |IDKategorii   |Tytuł  |Autor     |Data      |Treść     |
+-----------+--------------+-------+----------+----------+----------+

Tutaj kluczem i unikatem jest IDArtykułu

Oczywiście musisz dobrać odpowiednie typy danych dla poszczególnych kolumn.

0
Edoga napisał(a)

[...]

Takie coś to ja wiem, do tej pory tak robiłem. Jednak przeczytaj mój pierwszy post i kolejne, a potem wyciągnij wnioski co chciałem uzyskać :P

0

Yhyhy, słabe czytanie ze zrozumieniem :D Jeżeli chodzi o wybieranie kategori / tekstu to można by było to zrobić tak:

IDKategorii to IDK
IDTekstu to IDT

Zatem dojście do tego tekstu było by np takie:

strona.pl/text.php?IDK=1&IDT=2

Jeżeli o to chdoziło :D

A co do engine'u to tutaj troszekę roboty jest. Mogę Ci przy tym pomóc, tylko podaj mi swoją strukturę tabel.

0
Edoga napisał(a)

Jeżeli o to chdoziło :D

Nie, nie o to :p

Edoga napisał(a)

A co do engine'u to tutaj troszekę roboty jest. Mogę Ci przy tym pomóc, tylko podaj mi swoją strukturę tabel.

Dzięki za chęci w pomocy, ale poradzę sobie ;)

0
Coldpeer napisał(a)
Wolverine napisał(a)

Uploadowalem na 4p: http://download.4programmers.net/Logic_CMS

Hmm... Dzięki, ale problem jest mały ;) Ściągnąłem to archiwum i widzę tam tylko jeden plik tekstowy (4programmers.txt) :-/

Hmm, co zlego to nie ja :P

http://www.daminet.pl/~wolverine/cms.zip tutaj mozesz zassac :)

0
Wolverine napisał(a)

http://www.daminet.pl/~wolverine/cms.zip tutaj mozesz zassac :)

Ok, dzięki :) Przyjrzę się temu.
//OK, myslę, że sobie poradzę już :) W zasadzie to z kodu i tak chyba nic nie zgapię, bo po prostu dłużej trawałoby dostosowanie tego do swoich potrzeb niż zrobienie samemu :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1