![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 20.10.2002 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Stworzyłem sobie w Symfony nowy komponent. Są to 2 flagi, które pozwolą zmienić mi język aplikacji (np z PL na EN). Komponent ten wyświetla się na wszystkich stronach (jest wywołany w layout.php).
Po kliknięciu którejś z flag wywołana jest akcja np. ......../language/change/l/polish Chciał bym, żeby po wykonaniu akcji executeChange() strona została przekierowana do miejsca z którego została wykonana akcja zmiany języka. Dziękuję z góry za pomoc. RS Ten post edytował rsobczuk 5.02.2008, 17:00:34 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 20.10.2002 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jakiś czas temu w poprzedniej firmie stworzyliśmy framework, który bazował na Smarty. Część rzeczy działa w nim podobnie. Był to jednak framework uzywany tylko u nas w firmie. Całkiem fajnie tworzyło się w nim aplikacje i stronki.
Zależy mi jednak na opanowaniu frameworku, który jest publicznie znany. O ile opanuję symfony i zacznę w miarę swobodnie tworzyć w nim aplikacje pewnie kolejnym krokiem będzie kolejny framework. Mam jeszcze pytanko apropos tych klas modelu. Mam stworzoną tabelę w bazie SessionInfo (pomijając fakt, ze jest obsługa sesji już w Symfony). Posiada ona kilka kolumn (session_id, session_identifier, session_string, session_date, session_ip). Generator stworzył mi pliki (między innymi jest SessionInfo.php w katalogu /lib/model W nim mam klasę SessionInfo. Plik wygląda tak: <?php /** * Subclass for representing a row from the 'session_info' table. * * * * @package lib.model */ class SessionInfo extends BaseSessionInfo { public static function DB_initializeSession(){ /* $pSessionCriteria = new Criteria(); $pSessionCriteria->add(SessionInfoPeer::SESSION_IDENTIFIER, session_id()); $pSessionInfo = SessionInfoPeer::doSelect($pSessionCriteria); // tu jest problem $pSessionInfo->getSessionString(); //Fatal error: Call to a member function getSessionString() on a non-object in if(count($pSessionInfo) == 0){ $pNewSessionInfo = new SessionInfo(); $pNewSessionInfo->setSessionIdentifier(session_id()); $pNewSessionInfo->setSessionDate(date("Y-m-d H:i:s")); $pNewSessionInfo->setSessionIp($_SERVER['REMOTE_ADDR']); $pNewSessionInfo->setSessionString(DEFAULT_LANGUAGE); $pNewSessionInfo->save(); } } */ } Aktualnie metoda DB_initializeSession jest wywołana w jednym z komponentów na stronie głównej: SessionInfo::DB_initializeSession(); Zadaniem tej metody jest sprawdzenie, czy istnieje taki identyfikator sesji w bazie danych. Jeżeli tak, to odczytaj jakieś informacje o nim, jeżeli nie stwórz nowy identyfikator sesji i zapisz go w bazie danych. To co jest zaremowane dopisane jest przeze mnie. Jak odremuję wszystko działa ładnie, ale mam problem z odczytaniem wartości identyfikatora sesji. Co jest nie tak i jak powinienem to zrobić? Chciał bym stworzyć sobie jeszcze wiele róznych metod do obsługi tej tabeli, czy innych, które będą wywołane z dowolnej akcji w aplikacji. Dzięki Rafał |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 00:41 |