![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Siemanko.
Postanowiłem że zostanę przy cakephp, bo chyba najbardziej odpowiada mi styl pisania kodu, a może tylko mi się wydaje, bo na youtube jest dosyć dużo tutków do tego frameworka ![]() Nie ważne. Opiszę swój problem. Jeśli komuś chce się to czytać to zachęcam, jeśli nie to nie zachęcam ![]() Tak więc... Chcę sobie napisać Panel admina. Panel miałby się opierać na katalogu osobnym "/admin". Panel kumulowałby wszystkie zastrzeżone akcje typu dodaj, edytuj, usuń - oczywiście po zalogowaniu ;p Co próbowałem ? A no próbowałem zrozumieć tego gościa: http://www.youtube.com/watch?v=M40PgwLqS2M Jednak opisuje on juz gotowy kod, gdzie nie ma nawet nic napisanego w akcji login (a może nie powinno ?) ![]() Próbowałem także zrobić tak jak tutaj: http://www.gigapromoters.com/blog/2007/12/...nel-in-cakephp/ No niestety nie działało. To by było tyle z tego co czytałem. Ktoś kiedyś mi wspomniał o routingu. Czytałem, zmieniałem w core.php jakieś dane, ale nic z tego nie wyszło ![]() Jedyne co udało mi się zrobić to autoryzacje użytkownika, prostą autoryzacje gdzie kodem: plik:index.ctp
sprawdzałem czy użytkownik jest adminem czy nie jest. Nie wydaje mi się, aby ten sposób był wygodny, a więc postanowiłem coś zrobić w kierunku osobnego PA. Wiem też że dążąc do pożądanego przeze mnie efektu osobnego PA w każdym kontrolerze muszę napisać akcje z przedrostkiem admin_, np: Kod admin_dodaj a link będzie wyglądał następująco: Kod /admin/artykuly/dodaj/ Tyle jednak, że brakuje mi mechanizmu, zrozumienia mechanizmu routingu, o ile w ogóle o to chodzi. Napisałem to co w/w video w pliku appController to samo co autor tj:
Cytat Napisałem "user" ponieważ napisany mam kod pod edycje uzytkowników ![]() ![]() Oczywiście w kontrolerze UsersController uzyłem akcji z przedrostkiem admin_.
Niestety po wpisaniu w adres: Kod /admin/users/add/ Nie otrzymałem nic. To znaczy otrzymałem błąd oczywiście, ale nie pożądany przeze mnie efekt ; ( Wiem, że coś mi się pomieszać już mogło, coś źle robię JA. Ktoś może naprowadzić mnie na dobrą drogę, bo boje się, że się zgubię i zniechęcę do dalszej wędrówki ![]() Z góry chciałbym podziękować za próby pomocy ![]() Pozdrawiam. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 7 Dołączył: 22.10.2009 Skąd: Siędzę Ostrzeżenie: (0%) ![]() ![]() |
najprosciej bedzie tak:
w pliku core.php w AppController
w pliku routes.php
przykladowa tabela users
Ten post edytował kleus 12.04.2012, 13:04:27 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Niby działa, ale nie dziala w stosunku do rangi grupy
![]() Wszystko działa po zalogowaniu, prefix admina jest też, ale zwykly user moze zmieniac dane... Coś nie tak w beforeRender ? Niby działa, ale nie dziala w stosunku do rangi grupy ![]() Wszystko działa po zalogowaniu, prefix admina jest też, ale zwykly user moze zmieniac dane... Coś nie tak w beforeRender ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 7 Dołączył: 22.10.2009 Skąd: Siędzę Ostrzeżenie: (0%) ![]() ![]() |
w dokumentacji juz dalej jest wszystko ladnie wytlumaczone
http://book.cakephp.org/2.0/en/tutorials-a...ample/auth.html Jak bedziesz dalej miec problemy to pisz |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
No niestety przeglądałem to wiele razy i tam jest opisane jak logować i sprawdzać użytkownika, nic więcej. Zintegrowałem to z tym co mi napisałeś i działa jakoś, choć nie zastanawiałem sie nad zrozumieniem tego mechanizmu jeszcze.
Jedyny problem to taki ze nie czyta grupy uzytkownika, a przecież powinno ? Dziwne. Myślałem że FW ułatwia programowanie, ale w tym przypadku muszę stwierdzić że nie jest to 'ułatwienie' ;/ Logowanie itp łatwo zrobić, ale nie łatwo mi zrobić panel osobny. Zwykle w PHP jak robiłem jakiegoś koślawego CMSa to Panel miał osobny katalog o nazwie przykładowo "Admin" i zawierał sesje, był jeden użytkownik i dziękuje. Tutaj najwidoczniej bede musiał panel admina połaczyć ze stroną, bo inaczej tego nie da się zrobić bez utraty chęci. W każdym kontrolerze musiałbym pisać te same metody tj: admin_login, admin _wyloguj i to byłoby troche zagmatfane, nie sądzisz? Nie da się zrobić tak, żebym miał fizycznie stworzony katalog ADMIN a w nim jeden kontroler obsługujący wszystkie dane lub coś na ten styl ? Może chociaż jeden folder ADMIN gdzie zawarłbym kolejno osobny kontroller do każdej podstrony. Znów mnie chwyta niechęć jak chce coś zrobić a nie wiem dokładnie jak i mało osób może mi pomóc, bo nie znalazłem jeszcze tutoriala opisującego jak to zrobić. Damn it! edit: pomijajac fakt iz nie czyta grup uzytkownika, to przy edycji tez nie czyta parametrow przesylanych w get - dokladniej nie wie ktory id uzytkownika jest edytowany i jest pusty formularz... jak to wykonac aby do adresu parametru dodawalo takze admin/ ? Ten post edytował Bureau 12.04.2012, 22:03:38 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 7 Dołączył: 22.10.2009 Skąd: Siędzę Ostrzeżenie: (0%) ![]() ![]() |
AppController
Sprawdziłem u siebie i działa Ten post edytował kleus 12.04.2012, 22:38:56 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
No, działa!
![]() ![]() Tylko czy w tym przypadku: 1. Pisząc w jednym kontrolerze UsersController.php metony z prefixem admin_, muszę w innym pisać to samo? 2. Dlaczego nie czyta mi parametru GET ? Gdy edytuje użytkownika bez ADMIN w adresie to wsio działa, a jak edytuje go pod adresem /admin/users/edit/1 to już nie ściąga getem numeru ID uzytkownika i pola sa puste. Co w tym celu musiałbym dodać do kodu ? 3. Czy naprawdę jest sens według Ciebie do stosowania tego co chce uzyskać ? Nie łatwiej, tym samym efektem robić panel admina jako stronę główną projektu z tym że jeśli ktoś nie ma rangi ADMIN to nie zobaczy linków do edycji oraz będzie bezpośredni link do edycji zastrzeżony ? Pisałem o tym wyżej. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 7 Dołączył: 22.10.2009 Skąd: Siędzę Ostrzeżenie: (0%) ![]() ![]() |
AD 1. Nie rozumie o co pytasz? Jeżeli pytasz o to czy metody admina musza się zaczynać od admin_ to tak muszisz metody admina definiowac jako admin_costam w kazdym controller.
AD 2. nie widzac kodu nie moge ci powiedziec co jest nie tak... AD 3. Tego to juz kompletnie nie rozumie... |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Co do 1 pytania to pytałem własnie o pisanie metod z przedrostkiem admin. Trochę zamuliłem bo gdybym nie robił routingu to i tak te metody add, edit, delete byłyby więc nie robi to różnicy
![]() Mniejsza o to. 2 pytanie tez można olać bo już mi czyta, troche poprawiłem kod ![]() Co do 3 pytanka to miałem na myśl;i porównanie dwóch sposobów przedstawienia Panelu admina. Ten co teraz tworzę jest z routingiem itd, a ten który przedstawiaja w tutorialach na yt po prostu blokuje użytkownikowi możliwość wyświetlania elementów typu dodaj, edytuj, usun. Chodzi mi o to iż jak zaloguje się jako admin to na stronie głównej mam link przy newsie "edytuj" -> klikam na niego i przechodzi mi do strony edycji tego newsa. Zwykły użytkownik nie miałby dostępu do sekcji edytowania i nie miałby pokazanego linku "edytuj" przy newsie. Chciałem po prostu zapytac Ciebie, którą metode Ty byś wybrał ? Panelu zintegrowanego ze stroną, którą widzi zwykły użytkownik,a Ty gdy zalogujesz się jako admin pokazują się dodatkowe opcje czy może całkowicie osobny panel admina tak jak ja to chciałem zrobić ? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 7 Dołączył: 22.10.2009 Skąd: Siędzę Ostrzeżenie: (0%) ![]() ![]() |
Zalezy jaki duzy projekt...
masz tylko bloga to panelu admina mozna nie robic tylko przypisac prawa do grup i ukrywac pokazywac opcje w widokach. masz projekt na powiedzmy 200 controllers: ACL i panel dla admina ![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Myślę, że jeszcze dojdę do wprawy w tym frameworku, dopiero zaczynam. Nie napisałem jeszcze projektu konkretnego, a jedynie testowe aplikacje
![]() ACL brzmi strasznie, ale tylko teraz ![]() Dzięki wielkie za pomoc przyjacielu ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:42 |