Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logiczne rozwiązanie w cms
Forum PHP.pl > Inne > Hydepark
acztery
Witam właśnie kocze system cms i mam mały kłopot.

Dokładniej w systemie można mieć wiele wersji językowych. no dodajemy 3 wersje ( polską , niemiecka, angielska - ustawimy jako domyślną polską ) dodając dokumet, dokument dodaje sie tyle razy ile wersji jezykowych czy w polskiej , niemieckiej i angielskie )

np wybieramy jezyk polski dodajemy w nim dokument w pozostalych sa tworzene takie same dokumenty i tych samych nr ID z tym ze maja rozne prefixy jezykowe tj. de i en a polsi ma pl.

no i moje pytanie.

jak bede w wersji np niemieckiej i usune jakis dokumnet czy usuwac ma wszystkie z wszystkich wersji czy tylko z niemieciej czy moze ma popstu czysccic zawartosc dokumentu.

jezeli go usunie to jak zechcemy dodac odpowiednij usunietej juz wersji co wtedy ... moze jakies pomysly. ja mysle zeby zeby usuwal we wszystkich wersjach. a jak sie zechce aby dokument nie byl pokazywany to to sie do deaktywuje...
tiraeth
Bez sensu winksmiley.jpg To nie może o tym zadecydować użytkownik/moderator usuwający dokument? Przecież to jest kilka checkboxów z wyborem języków, w których ma usunąć dokument :]
acztery
zle mnie zrozumiales

taka sytuacja

mam dokument test w 3 jezykacj niemiecki, angielski, polski

wchodz do niemieckiego i usuwam go

wtedy w polskim i angielskim mamy dokument test ale w niemieckim nie

ale po tygodniu sie rozmyslimy i zechcemy dodac znowu ten dokument ... co wtedy

checkbosy to dobre rozwiązanie ale ja mam inne ale podobne.
athabus
Nigdy nie zastanawiałem się nad cms'ami wielojęzykowymi, ale jedna rzecz, nad którą należy się zastanowić to to, czy w ogóle te wersje muszą być ze sobą powiązane. W sensie czy każdy dokument występuje w n-wersjach. IMHO raczej należy to połączyć dosyć luźno. Dlaczego? Otóż pamiętam, gdy kiedyś pracowałem w pewnej firmie, która miała tam podobny cms z kilkoma wersjami językowymi. Problem jaki się pojawił to to, że na stronie byly wersje języków, którymi nikt biegle nie władał - znaczy dogadywaliśmy się po rosyjsku czy niemiecku, ale nikt nie znał na tyle tych języków, żeby podjąć się radagowania notek na stronę. I tak szkielet był przetłumaczony na wszystkie języki, ale np. gdy ktoś chciał dodać nowość, to musiał tworzyć od razu kilka wersji językowych... i tak nowości i nowe produkty nie były dodawane na stronę w ogóle ;-). Potem system został zmieniony na taki, który umożliwiał tworzenie niezależnej treści i wersja polska i angielska były tworzone na bierząco, natomiast rosyjskia, ukraińska i niemiecka raz na jakiś czas uzupełniana "kompleksowo" przez biuro tłumaczeń.

Wiem, że to może nie do końca odpowiedź na Twoje pytanie, ale bazując na powyższym uważam, że musisz trochę "poluźnić strukturę" - np. wersje artykułów w innych językach mają być opcjonalne. Co do usuwania, to wydaje mi się, że user sam powinien decydować czy usunąć tylko artykuł w danym języku czy we wszystkich językach. Generalnie może takie rozwiązanie: masz jeden artykuł w n wersjach językowych i jeśli user usuwa daną wersję językową to tak naprawdę jej nie usuwa tylko ją "zeruje". Możesz dodać np. pole "published" w bazie dla każdej wersji i jeśli jest ono wartości "false" to wtedy artykuł się nie wyświetla, ale gdzieś tam jest w bazie "zarezerwowane dla niego miejsce".

Jeśli natomiast sytuacja miałaby być normą, że różne artykuły są w różnych wersjach ( w sensie często artykuł nie ma wszystkich wersji językowych), to raczej pomyślałbym o zostosowaniu jakichś prostych realcji, żeby nie przechowywać zbyt wielu zbędnych, pustych pól w bazie.

Cóż generalnie wszystko zależy od tego, jak masz bazę zrobioną i na ile możesz pozwolić sobie na modyfikację.
acztery
takiej odp oczekiwałem bee musiał pomyśleć. mysle ze te zerowe dokumenty do dobra sprawa
a przy usuwaniu bedzie sie pytal czy usunac tylko ten jeden = zerowac czy wywalic wszystko = usunac dokumenty z wszystkich jezykow ale musze przemyslec to .


PS system jest dosc daleko ale jest tak napisany ze nie musze ingerowac az tak bardzo, jest rozbity na pare klas i funkcji itp wiec nie ma problemu

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