Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CakePHP]Strona startowa
Forum PHP.pl > Forum > PHP > Frameworki
Lirdoner
Witam, dopiero co zacząłem próbować ogarniać cakephp i mam parę pytań. Na początek strona główna która mi się otwiera - jak mogę ją zmienić?
Czy jeżeli chciałbym aby link np do wylogowania wyglądał tak: www.strona.pl/wyloguj to czy muszę tworzyć kontroler, model i widok dla kilka linii kodu?
I jeszcze ten HtmlHelper. Widzę w plikach szablonu takie coś:
  1. <?php echo $this->Html->link(
  2. $this->Html->image('cake.power.gif', array('alt' => $cakeDescription, 'border' => '0')),
  3. 'http://www.cakephp.org/',
  4. array('target' => '_blank', 'escape' => false)
  5. );
  6. ?>

Jaki jest sens stosowania tego? Przecież o wiele prościej i krócej jest po prostu napisać wersję html.
kicaj
Jeśli wyświetla Ci się strona główna wygenerowana przez Cake'a, to tam jest napisane, że wystarczy edytować (lub stworzyć) plik app/View/Pages/home.ctp

Linki tworzysz w pliku app/Config/routes.php mniej więcej tak:
  1. Router::connect('/wyloguj', array(
  2. 'controller' => 'users',
  3. 'action' => 'logout'));
Gdzie 'users' to kontroler, a 'logout' to akcja wylogowania.

Stosowanie HtmlHelper'a jest pomocne w innych przypadkach, zapoznaj się z dokumentacją.
Lirdoner
A jeszcze taki mam problem, że jeżeli nie jestem zalogowany to ciągle przekierowuje mnie do panelu logowania.
Jak zrobić aby niektóre strony były dostępne dla użytkowników?
Kierowałem się tym http://www.dobreprogramy.pl/knyku/CakePHP-...e-na,41448.html

Dodatkowo można zrobić tak aby jak nastąpi przekierowanie na formularz logowania to aby po zalogowaniu wyświetliła się strona do której chcieliśmy uzyskać dostęp?
kicaj
Tam gdzie ustawiasz parametry komponentu Auth, możesz zdeklarować tablica 'allowedActions' - dla ogólnodostępnych akcji oraz gdzie ma przekierować po poprawnym zalogowaniu: 'loginRedirect'.

Lirdoner
Ok, dzięki za odpowiedź. Jeszcze jeden ważny problem z którym nie mogę sobie poradzić.
Mam tabelę config z konfiguracją serwisu. Muszę ją pobierać na każdej stronie + mieć do nich dostęp z poziomu kontrolerów i widoku.
Który plik powinienem edytować?
Lirdoner
Ok, dzięki za odpowiedź. Jeszcze jeden ważny problem z którym nie mogę sobie poradzić.
Mam tabelę config z konfiguracją serwisu. Muszę ją pobierać na każdej stronie + mieć do nich dostęp z poziomu kontrolerów i widoku.
Który plik powinienem edytować?
kicaj
Na przykład w pliku Config/bootstrap.php, zapisz konfiguracje za pomocą Configure::write() oraz w dowolnym miejscu będziesz mógł ją odczytać: Configure::read()
Lirdoner
Ok dzięki wink.gif problem teraz w tym, że nie mam pojęcia jak wykonać zapytanie do bazy w tym pliku ;/
kicaj
Plik bootstrap.php na pewno nie należy do miejsc łączenia z bazą.

Modele są odpowiednie za relacje z bazą danych. Poczytaj więcej http://book.cakephp.org
Lirdoner
No tak tylko tą konfigurację serwisu muszę pobrać z bazy danych a nie chcę tego samego kodu przepisywać do wszystkich modeli.
Jakbym napisał funkcję w AppModel.php i później przy każdym moim modelu wywoływał w konstruktorze tą funkcje byłoby ok?
kicaj
Tak, AppModel jest jak najlepszym miejscem, każdy model dziedziczy AppModel
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.