Autor Wątek: Framework CakePHP i e-weblink - rozwiązanie  (Przeczytany 2229 razy)

Offline szellest

  • Młody user
  • *
  • Wiadomości: 2
  • Reputacja: 0
  • Płeć: Mężczyzna
Framework CakePHP i e-weblink - rozwiązanie
« dnia: Sierpień 10, 2007, 13:19:56 »
Witam!
Na wstępie zaznaczam, że używam framework-a CakePHP.
Domena www.szel.net

Przy akcji "Autoryzuj" wyrzuca mi błąd odnośnie niewłaściwego skryptu e-weblink i zalecenie zainstalowania poprawnego, a na stronie wyświetlały się linki do błędów na e-weblink.com.
Mam aktualny skrypt zainstalowany, prawa zapisu są ustawione.

Udało mi sie przejść przez autoryzacje używając podmiany katalogów :
    moja strona z calym frameworkiem <-> pusta strona index.php i proste include, echo
Niestety nie na wszystkich stronach wyświetlają sie linki i chyba system nie zarejestrował wszystkich linków na  właściwej stronie.

Aby zaimplementować skrypt e-weblink.php w CakePHP użyłem do tego 'vendors' + beforeFilter oraz standardowe "przerzucenie" danych do domyślnego widoku layout-u (model MVC).

CakePHP używa mod_rewrite, możliwe, że w tym jest problem. Niestety nie jestem w stanie znaleźć błędu gdyż po "fałszywej" autoryzacji linki wyświetlają się na głównej stronie, na podstronach niestety już nie.

Co w takiej sytuacji mógłbym zrobić aby móc używać poprawnie skryptu ?

Będę wdzięczny za każdą pomoc.
« Ostatnia zmiana: Sierpień 16, 2007, 10:51:33 wysłana przez szellest »

Offline szellest

  • Młody user
  • *
  • Wiadomości: 2
  • Reputacja: 0
  • Płeć: Mężczyzna
Odp: Framework CakePHP i e-weblink - rozwiazanie
« Odpowiedź #1 dnia: Sierpień 16, 2007, 10:50:32 »
Witam!
Dla potomnych rozwiązanie problemu:

należy zainstalować skrypt w 2 miejscach:
app/vendors/:
app/vendors/e-weblink.php
app/vendors/e-weblink ( prawa muszą być do zapisu przez serwer www, w większości przypadków chmod 777 e-weblink)

oraz

app/webroot/
:
app/webroot/e-weblink.php
app/webroot/e-weblink
(również chmod 777)

Przykładowe wywołanie skryptu we frameworku:
w kontrolerze:

/* wybieramy ta funkcje, gdy chcemy aby linki pokazywały sie na wszystkich stronach */
function beforeFilter()
  {
  /* dodajemy skrypt do kontrolera */
  vendor('e-weblink');
  /* przesyłamy dane do widoku */
  $this->set('links', fetch_weblink());
  }

oraz w layoucie
app/views/layouts/default.thtml

echo $links;
Za pomoc w rozwiązaniu problemu chciałem podziękować MMP :)
« Ostatnia zmiana: Sierpień 16, 2007, 10:53:15 wysłana przez szellest »