Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CakePHP] Prosty Panel Administratora, Ciagle panel i panel...
Bureau
post
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 (IMG:style_emoticons/default/tongue.gif)

Nie ważne. Opiszę swój problem. Jeśli komuś chce się to czytać to zachęcam, jeśli nie to nie zachęcam (IMG:style_emoticons/default/smile.gif)

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 ?) (IMG:style_emoticons/default/tongue.gif)

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 (IMG:style_emoticons/default/smile.gif)

Jedyne co udało mi się zrobić to autoryzacje użytkownika, prostą autoryzacje gdzie kodem:
plik:index.ctp
  1. if ($login_u['role'] === 'admin') {
  2.  
  3. echo " ,jestes adminem mozesz edytowac i usuwac uzytkownikow";
  4.  
  5. }

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:
  1. class AppController extends Controller {
  2.  
  3. public $components = array('Auth', 'Session');
  4.  
  5. public function beforeFilter()
  6. {
  7. $this->Auth->loginAction = array("admin" => false, 'controller' => 'users', 'action' => 'login');
  8. $this->Auth->loginRedirect = array('controller' => 'pages', 'action' => '/admin');
  9. $this->Auth->allow('display');
  10. }
  11.  
  12.  
  13. public function beforeRender() {
  14.  
  15. if(!array_key_exists('requested', $this->params)) {
  16. $user = $this->Session->read($this->Auth->sessionKey);
  17. $this->set(compact('user'));
  18. }
  19.  
  20. }
  21.  
  22.  
  23.  
  24. }

Cytat
Napisałem "user" ponieważ napisany mam kod pod edycje uzytkowników (IMG:style_emoticons/default/smile.gif) i z tym wiązałem swój przykładowy skrypt, a w/w kontroler artykułów to tylko przykład (IMG:style_emoticons/default/smile.gif)


Oczywiście w kontrolerze UsersController uzyłem akcji z przedrostkiem admin_.
  1. public function admin_add() {
  2. if ($this->request->is('post')) {
  3. $this->User->create();
  4. if ($this->User->save($this->request->data)) {
  5. $this->Session->setFlash(__('The user has been saved'));
  6. $this->redirect(array('action' => 'index'));
  7. } else {
  8. $this->Session->setFlash(__('The user could not be saved. Please, try again.'));
  9. }
  10. }
  11. }


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 (IMG:style_emoticons/default/biggrin.gif) \

Z góry chciałbym podziękować za próby pomocy (IMG:style_emoticons/default/smile.gif)
Pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.09.2025 - 22:13