Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Struktura linków w CMSie
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
spenalzo
Robię takiego miniCMSa i natknąłem na taki problem - mam pare głównych kategorii produktów wraz z linkami do nich:
Cytat
o Marka A
- jakis link1
- jakis link2
- jakis link3
- jakis link4
o Marka B
- jakis link1
- jakis link2
- jakis link3
- jakis link4
...


Teraz jak zdefiniować że A.jakiślink1 i A.jakislink3 prowadzi np. do statycznej strony HTML, A.jakiślink2 prowadzi do listy produktów, a A.jakiślink4 prowadzi do newsów z parametrem np. X=34 - a np. w MarkaB linki prowadzą do czegoś zupełnie innego.

Musze przyznać, że nie am pomysłu jak zrobić odwołanie do modułu produktów, newsów z konkretnym parametrem lub także statycznej strony... Oczywiście wiem, że to musi być oddzielna tabela w bazie, ale jak to zdefiniować?
Bakus
wpisuj całe adresy...
np. dynamiczne: "./news.php?id=352" i statyczne: "./kontakt.htm"

Najprostrze rozwiązania są chyba najskuteczniejsze... winksmiley.jpg
spenalzo
Włąśnie, że nie... Ma to być niezależne od adresu stron, bo na jednej moge mieć index.php?s=produkty&id=4, na drugiej produkty,4.html a na trzeciej zupełnie inaczej itd itp
Bakus
W phpMyAdmin'ie jest funkcja odpowiedzialna za generowanie adresów stron... Sam jej dokładnie nie przeglądałem, ale codziennie widzę efekt jej działania - tasiemcowe adresy... winksmiley.jpg

Przeglądnij co w kodzie piszczy... Może akuratnie w niej jest to czego szukasz...
spenalzo
rzseattle - nie nie.. Być może w ogóle źle rozumuje. smile.gif
Więc to ma być tak - w panelu admina Klient decyduje że tworzy kategorie produktów ABC. Potem chce mieć na strone głównej po kliknięciu w ABC powiedzmy, cztery linki - O produkcie, katalog, cennik, do pobrania. I problem na tym polega, że zarówno linki jak i ich opisy bedą zmienne, i Klient sam chce je definiować. Oczywiście linki te bedą prowadzić do różnych, zmiennych modułów - wiadomo, że do pobrania skieruje na strone modułu "download" - ale teraz nie wiem, w jakim katalogu bedzie ten plik, jaka bedzie miał nazwe itd.

Kurde nie umiem tego wytłumaczyć jakoś :| :S
rzseattle
To poprostu wywoluj cos przez akcje i modul , polaczenie tych dwoch danych odczytuj z tablicy w bazie danych i juz maz sciezke i do tego inne dane takie jak auth. Dodatkowo mozesz wprowadzic swoj blok w SMARTY ktorym bedziez parsowal linki tak ze beda one wygladaly jak bedziesz chcial.

ps Poprzendi post skasowalem bo nic nie wnosil winksmiley.jpg
dag
nie wiem czy oto Ci chodzi, ale zamiast umieszczac calej sciezki do pliku zrob cos takiego, ze umieszczasz tylko id_adres (czy news, artykul, etc) i pobierasz teraz id_linka i z osobnnej tabelki id_adresu kategorii. w latwy sposob klient moze dodawac kategorie (czy dzialy), bo dodaje do jednej tabelki.
DeyV
w wielu cms'ach jest to rozwiązane włąsnie na takiej zasadzie, jak wspomniał rzseattle.
Jeszce dokłądniej móiąc, zrobił bym to tak:
1. podczas dodawania pozycji do menu, należało by podać jej nazwę (wświetlany wpis) oraz kategorię, czyli czy to ma być artykuł, czy kategoria, czy produkt, itp.
Informację tę przechowujemy w jedej tabeli.
Następnie z zależności od wybranego typu, ładujemy odpowiedni formularz, pozwalajacy na wypełnienie wybranych, potrzebnych w danej kategorii danych, które przechowujemy w osobnych dla kazdej kategorii tabelach, z informacją, do którego id się to odnosi.
I nic właściwie więcej nie potrzeba - no może jeszcze pole pozwalajace na sortowanie pozycji w menu w tabeli nr. 1
spenalzo
Ja wymyśliłem sobie tak - tworze tabele id | module | action | params.
W module wstawiam nazwe modułu np, produkty, w action "pokaz", a w params np. "catID=4353".

Dodawanie linków to bedzie oddzielny formularz przeładowujący sie przy wybrze modułu i zmieniający drugiego i trzeciego selecta na akcje i nazwy kategorii.

Ja wiem, że to prymitywne smile.gif ale ten CMS to bedzie bardziej z nazwy, ponieważ i tak polowe wszystkich danych w szablonach trzeba bedzie dopasowywać pod odpowiedniego klienta :| ... Z drugiej strony taka mała uniwersalność (ale tylko od strony gościa strony, administracja jest wypasiona tongue.gif biggrin.gif) powoduje, że ten produkt niełatwo bedzie komuś sprzedać dalej. Oczywiście, że nie jest to profesjonalne podejście, ale nie mam aż tyle czasu żeby wszystko zrobić samemu..... sad.gif wiec trzeba pewne rzecy uprościć.
matic
Cytat
Ja wiem, że to prymitywne smile.gif ale ten CMS to bedzie bardziej z nazwy, ponieważ i tak polowe wszystkich danych w szablonach trzeba bedzie dopasowywać pod odpowiedniego klienta :|

CMS tworzone sa na potrzeby wiekszych serwisow, a przy witrynach zazwyczaj jest potrzeba "recznego" dopasowania - tego nie mozna uniknac. Nawet najlepsze rozwiazania nie daja wszystkich mozliwosci, a jesli mozna cos zrobic to po swojemu zrobi sie to znacznie szybciej.

Dzis juz chyba kazdy WEBdeveloper ma wlasnego CMS'a questionmark.gif
Ace
Cytat
Dzis juz chyba kazdy WEBdeveloper ma wlasnego CMS'a questionmark.gif


fakt, najbardziej primitywne, ale CMS... kazdy dazy do zrobienia czegos co w przyszlosci bedzie moglo pomoc w tworzeniu kolejnych stron. Tez wlasnie pisze CMS'a i ciekza sprawa jest z tym... Ale u mnie ciezej jest z planowaniem niz z pisaniem. Dobry plan to podstawa.
halfik
Cytat
Dzis juz chyba kazdy WEBdeveloper ma wlasnego CMS'a questionmark.gif

hehe, dobrze by było, ale myślę że nie. A szkoda, bo to by tylko świadczyło o ogólnym rozwoju ludzi zajmujących się projektowaniem i pisaniem na sieć. Tymczasem spotyka się stronki pisanie niby przez profesjonale firmy, po przejrzeniu których można wystawic definicję, a nawet pokusić się o wzór na CHAOS winksmiley.jpg
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.