Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]pusta tablica POST ?
Forum PHP.pl > Forum > PHP > Frameworki
elmozaur
Witam.

Googlajac w poszukiwaniu odpowiadajacego mi rozwiazania znalazlem cos takiego:
http://dariuszsadowski.blogspot.com/2011/0...iu-o-sesje.html

Zrobilem copy paste kodu ze zmianami takimi aby chodzilo to w zend+Smarty.

I tu pojawil sie problem: gdy klikam na flage , wysylany jest formularz ale w metodzie preDispatch() klasy class App_Controller_Action_Helper_LangSwitch
gdy odbieram cala tablice POST okazuje sie ze jest ona pusta.

3 Pytania:
- Czy ten Action_Helper trzeba jeszcze gdzies "aktywowac/inicjowac"?
- dlaczego POST moze byc pusty?
- jak poprawnie pobierac request
$req = $this->getRequest();
$req = $this->_request();

dziekuje i pozdrawiam
G
KrzysiekWildfire
Przejrzałem to co tam jest, i moim zdaniem jest to zbyt skomplikowane. Jeżeli miałbym już zrobić coś takiego jak tam, to zrobiłbym to z poziomu bootstrap'u:

  1.  
  2. protected function _initTranslation ()
  3. {
  4. $lang = new Zend_Session_Namespace('lang');
  5. $lang->setExpirationSeconds('3600'); //Tu ustalasz po jakim czasie język wróci do Polskiego
  6. if($lang->lang === null){
  7. $lang->lang = 'pl_PL';
  8. }
  9. $locale = new Zend_Locale($lang->lang);
  10. $translate = new Zend_Translate(array('adapter' => 'tmx',
  11. 'content' => APPLICATION_PATH . '/configs/translations.tmx',
  12. 'locale' => $locale)); //W tym przypadku korzystam z pliku tmx (typ xml'a) do translacji
  13. Zend_Registry::set('Zend_Translate', $translate);
  14. }


Do tego trzeba stworzyć kontroler do obsługi zmiany języka:
  1. <?php
  2. class LangController extends Zend_Controller_Action{
  3. public function indexAction(){
  4. if ($this->_request->isPost()){
  5. if ($this->_request->getPost('lang','0')!='0'){
  6. $lang = new Zend_Session_Namespace('lang');
  7. $lang->lang = $this->_request->getPost('lang');
  8. $this->_redirect('/');
  9. }
  10. }
  11. }
  12. }


I powinno wszystko działać - i też jest w oparciu o sesje. BTW to nie jest najlepszy sposób na obsługę języków ze względu na boty wyszukiwarek internetowych.
Powodzonka
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.