![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jest panel admina. Aby uniezależnić warstwę logiki od prezentacji, menu powinno być wyświetlane w szablonach. Jednak nie wszystkie moduły są dostępne dla każdego użytkownika - to zależy od jego uprawnień. Jeśli gdzieś nie ma dostępu, po prostu nie pokazujmy mu linku. Jak to rozwiązać?
1. Sposób. Pozycje zależą od warstwy logiki Warstwa logiki narzuca budowę menu. Kod PHP: Szablon:
+ Po dodaniu lub usunięciu modułu nie trzeba edytować szablonu skórki + Można wprowadzić możliwość zmiany kolejności elementów w menu - Zmiana układu menu jest praktycznie niemożliwa - W przypadku podziału na bloki wpłynie negatywnie na wydajność Można posegregować linki w grupy, co ułatwia zmianę układu menu (np. na rozwijane menu), ale wciąż są duże ograniczenia (np. rozwijane menu wielopoziomowe), więcej obliczeń w warstwie logiki i podwójna pętla w szablonie:
2. Sposób. Wszystko w szablonach. Nie budujemy menu w warstwie logiki. Wszystkim zajmują się szablony: + Można dowolnie zmodyfikować układ menu w szablonie + Warstwa logiki nie narzuca nam konkretnego układu i kolejności - Trudniejsza edycja szablonu - elementy warstwy logiki w szablonie - Kiedy dodamy lub usuniemy moduł panelu admina, trzeba poprawić szablon wszystkich skórek! Jak widać, oba rozwiązania mają swoje wady. Które jest najbardziej optymalne i elastyczne według was? -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:20 |