[Propozycja] Sekcje, zarzadzanie przez panel

0

Poniewaz chce, aby nowa wersja systemu byla jak najbardziej skalowalna, fajnie by bylo gdyby z poziomu panelu mozna by bylo zarzadzac wygladem strony (taki cms). Np. zeby mozna bylo kontrolowac zawartosc i polozenie menu, link itp.

W zwiazku z tym: macie w tym temacie jakies doswiadczenia czy propozycje? Jak by mozna bylo to najlepiej rozwiazac?

0

DHTML ma chyba takie bajerki ?

0

Może drupalowe regiony ?
W skórce definiuje się regiony do których można dodać menu lub bloki (definiowane w panelu lub przez moduły).

0

Nie chodzi o DHTML, bardziej o rozplanowanie struktury bazy o logike aplikacji jak by to mialo dzialac.

Dzieki nav - zobacze jak to wyglada w drupalu.

0

Mambo/Joomla też używa takich regionów. W szablonie w odpowiednim miejscu w HTMLu są zdefiniowane kontenery, z panela wybiera się z listy dostępnych kontenerów odpowiedni dla danego modułu i oczywiście jego kolejność w danym rejonie.

0

W Drupalu jak nav napisałam, jest to fajnie i dobrze rozwiazane, to od bidy do bloku wstawisz wszystko od menu po nawet kod php. Bloki powinny mieć własne cachowanie.... z resztą jak przeglądałeś Drupaka, to na pewno zauważyłeś, że on potrafi sobie to cahować.

0
mephir napisał(a)

W Drupalu jak nav napisałam, jest to fajnie i dobrze rozwiazane, to od bidy do bloku wstawisz wszystko od menu po nawet kod php. Bloki powinny mieć własne cachowanie.... z resztą jak przeglądałeś Drupaka, to na pewno zauważyłeś, że on potrafi sobie to cahować.

Nie obraź się, ale drupal to dno. Faktycznie jest kilka ciekawych rozwiązań, ale zauważ, że wszystko jest generowane dynamicznie, nawet to co nie powinno, przez co drupal jest strasznie mało wydajny.

0

Może i jest generowane dynamicznie, ale jest kesz, można łatwo podpiąć memcache. Zreszta dynamiczne generowany jest tylko content dla userów zalogowanych, anonim dostaje stronę z cache. Keszowane jest bardzo wiele rzeczy, może wydaje się że jest wszystko dynamicznie, ale tak na prawdę sporo rzeczy pochodzi z cache.

0

Dominium to nie jest temat nad wyższością jednego cmsa nad drugim. Co do twojej oceny Drupala sie nie zgodze, mieliśmy tu przedstawić idee, a nie gotowe kopiować coś do czegos innego. Wiesz jak ktos nie umie na czymś pracowac to zawsze powie że syf.
Podział na same części serwisu to pół biedy, gorzej właśnie obsługą tego wszystkiego, a Drupal ma to na prawdę świetnie rozwiązane bo coś co jest w contencie, może byc w nagłówku, stopce, czy co tam sobie wymodzisz, do tego dobre cachowanie czy to memcache czy na plikach i masz coś ślicznego, wydajnego.
Każdy chciałby tu za pewne drugie iGoogle, ale do tego trzeba miec jakąś platforme wyjściową. A rozwiązania w PHPFusion, e107, joomla, na prawdę mi się nie podobają.

0
mephir napisał(a)

Dominium to nie jest temat nad wyższością jednego cmsa nad drugim. Co do twojej oceny Drupala sie nie zgodze, mieliśmy tu przedstawić idee, a nie gotowe kopiować coś do czegos innego. Wiesz jak ktos nie umie na czymś pracowac to zawsze powie że syf.
Podział na same części serwisu to pół biedy, gorzej właśnie obsługą tego wszystkiego, a Drupal ma to na prawdę świetnie rozwiązane bo coś co jest w contencie, może byc w nagłówku, stopce, czy co tam sobie wymodzisz, do tego dobre cachowanie czy to memcache czy na plikach i masz coś ślicznego, wydajnego.
Każdy chciałby tu za pewne drugie iGoogle, ale do tego trzeba miec jakąś platforme wyjściową. A rozwiązania w PHPFusion, e107, joomla, na prawdę mi się nie podobają.

Nie chce tu się rozwodzić na temat wyższości jednego cms nad drugim. Chodzi o to, że w drupalu wszystko jest dynamiczne. Miałem przyjemność z nim pracować od strony kodu. Nie jestem pewien czy taka dynamika jest dobrym rozwiązaniem. Co do samych możliwości, weźmy pod uwagę, ze w drupalu wygląd każdego bloku jest narzucony przez kod systemu i nie można go dowolnie zmienić. A zabawa z css czasem bywa dłuższa i mniej efektywna od zabawy z kodem php. Pozat ym zauważ, że w drupalu kod php jest zamotany w html.

//http://tiny.pl/2vxw ;-) - Marooned

//To nie było zamierzone, mam rozdzielczość 1280x1024 - Dominium

0

Moża by zrobić tak by przy wczytaniu laout.php pobierało sobie z bazy nazwy bloków, np. menu.php, plus numerek miejsca gdzie miało by być i tam wklejało. W połączeniu z cache nie powinno mieć to różicy w czasie.

W bazie miałoby postać:
id | nazwa modułu | blok | kolejność

a w bloku powiedzmy, "menu_left", to blok 1.

$sql = "SELECT `nazwa modulu` FROM layout WHERE blok = 1 ORDER BY kolejność ASC";
$query = $this->db->cache($sql);
while($row = $query->fetch())
{
  //funkcja rysująca blok, lub np. include()
}

w panelu administracyjnym, mogło by wyswietlac pogladowy szablon strony i tam zwyczajnie by sie wybieralo jaki modul ma byc gdzie. To tez jest do napisania ;]

0

Odswiezajac temat:

Stoje teraz przed dylamatem jak to rozwiazac. Mamy modul komentarzy. Komentarze moga byc podczepiane pod inne moduly, czyli np. pod - np. pastebin (mozliwosc komentowania wpisow). Czyli skad system ma wiedziec kiedy wyswietlic formularz do wpisania komentarza? Czy tak jak napisal czarnas? Czy moze ktos ma sugestie?

Czy moze postapic tak jak ktos juz tu wspomnial: regiony. Czyli w szablonie okreslam region, tak? Nastepnie w panelu administracyjnym mialbym mozliwosc utworzenia bloku w danym regionie. Kolejno: przypisanie modulu komentarza do tego bloku?

Czy ktos ma inna sugestie?

0

Tak sobie pomyślałem, że w przypadku komentarzy, można sprawdzać flagi modułów. Z tego co widziałem framework jest w stanie ustalić w jakim module się obecnie znajduje. Wtedy system sprawdzał by flagę USE="komentarz" i jeżeli taka istnieje, dorzucałby blok komentarzy.

poprawiony pseudo kod:

if (Flag->USE == "komentarz")
show();

Czyli, każdy moduł miałby ustawione flagi uruchomieniowe, gdzie można by było uruchamiać inne moduły. Coś jak emerge. Oczywiście nie dam sobie głowy uciąć, że takie coś ma szansę działać, ja generalnie projektuję.

0

Hmm, moglbys napiasc cos nieco wiecej? Czyli generalnie chodzi o to, aby w widoku umiescic instrukcje, ktora sprawdzalaby czy w to miejsce nie nalezy wstawic jakiegos kodu? Tzn. odczytywalaby z bazy informacje czy flaga nie wskazuje na to, ze do tego modulu sa dolaczone komentarze?

Bo zobacz: http://dev.4programmers.net/ Zaloguj sie jako 'Gosc', haslo: 123. Mozesz przejsc do panelu administracyjnego (http://dev.4programmers.net/adm -- podaj ponownie 123).

Mi chodzi o to, zeby to ladnie mozna bylo podpinac w panelu :) Ale mam chyba jakis zamysl ;) Poki co zrobilem wlaczanie/wylaczanie modulow z poziomu panelu i podpinanie ich pod inne moduly....

Dopisane: buuu, PHP nie jest skonfigurowany z biblioteka XSL :/

0

Ok, zatem tak:

Każdy moduł posiada flagi uruchomieniowe.

Przykład pseudo kodu:

Moduł Artykułów + Flaga ="comment"

Czyli 
If (Moduł->Arty-Flag == "comment")
bla bla

W module Artykuły zawrzeć Definicje flagi USE na np. comment, rank etc.
Przykład:

<?php
define('USE', 'comment, rank etc..');
?>

Framework przy uruchamianiu modułu sprawdza flagi uruchomieniowe i jeżeli są dodaje do modułu inny podmoduł np. komentarze.
Zatem jeżeli moduł Artykuły potrzebuje komentarzy, framework generuje dla tpl miejsce na komentarze i wstawia w kod layoutu.
Tak jak kiedyś było w starej wersji 4p znacznik , oczywiście jeżeli istnieje.

Generalnie zdaję sobie sprawę, że może być to zagmatwane, ale zastosowałem takie rozwiązanie w systemie ERP i sprawdza się doskonale. Ułatwia to bardzo pracę, bo nie muszę tworzyć dla każdego modułu innych konfiguracji, plików etc.

Co do panelu, można w nim ustawić powiedzmy flagi dla modułów, dostępy etc. Można by tez w panelu dodawać wygląd powiedzmy podmodułu, powiedzmy z xml
Mam nadzieję, że napisałem zrozumiale. Jeżeli nie to podsumuje to jednym zdaniem. Framework powinien mieć możliwość tworzenia zależności pomiędzy modułami.

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