Temat z wieloma odpowiedziami

[newscalendar] nazwy miesięcy w strftime.main w mianowniku


Autor Wiadomość
Napisane: 16.06.2009 [13:14]
banama
Twórca tematu
zarejestrowany: 06.01.2009
Posty: 39
Dzięki KSS za odpowiedź. Spróbuję z tym zawalczyć. Dam znać jak poszło icon_smile.gif
Napisane: 16.06.2009 [13:46]
dpacholczyk
zarejestrowany: 17.09.2008
Posty: 1006
kss napisał/a

banama napisał/a

Już tak kombinowałem ale dostaję zamiast nazwy miesiąca - napis COA. Chyba wkraczam w ten obszar wiedzy nt. typo, gdzie zaczynam chodzić po omacku icon_frown.gif


No niestety.

Rozszerzenie nie przepuszcza wartości plugin.tx_newscalendar_pi1.listView.strftime.main przez stdWrap więc to nie wyjdzie.

Musisz odszukać w kodzie rozszerzenia w jaki sposób używana jest wartość strftime.main

PHP
$this->listHeader = $this->convertSpecialCharacters(ucfirst(strftime($this->conf['listView.']['strftime.']['main'],$first_of_month)));


Później musisz niestety zmienić tę linę tak, żeby wykorzystywała stdWrap. Ogólne wywołanie stdWrap ma następującą postać:
PHP
$wartość = $this->cObj->stdWrap($zmienna_do_obróbki,$przepis_obróbki_dla_stdWrap);


Być może w tym przypadku będzie to wyglądało tak:

PHP
//pole datetime używane jest w temp.daty-mianownik więc musimy je sztucznie dodać. W tt_news już było
$this->cObj->data['datetime'] = $first_of_month;
// pierwszy człon może być pusty, bo i tak korzystamy tylko z "datetime"
$this->listHeader = $this->cObj->stdWrap('',$this->conf['listView.']['strftime.']['main.']);


I na koniec wywołanie powinno mieć w tym przypadku postać:
TYPOSCRIPT
plugin.tx_newscalendar_pi1{
  listView{
    strftime.main >
    strftime.main.cObject < temp.daty-mianownik
  }
}



Jak widzisz jest trochę przeróbek. Nie testowałem tego kodu, więc pewnie gdzieś jakiś błąd tu czy tam będzie, ale tak to mniej więcej powinno wyglądać.

I na koniec, jeżeli chciałbyś to zrobić "TYPO3 way", jako że musisz dokonać przeróbki kodu rozszerzenia, to najlepiej jest stworzyć jakieś oddzielne rozszerzenie, które podmieni metodę generate_calendar() przez XCLASSing.



I kurcze Dawid miał rację, że trzeba przerobić klasę icon_smile.gif

ale fakt o XCLASS nie pomyślałem

Certified Level 2 TYPO3 Night Crew Member.
Napisane: 18.02.2010 [12:46]
banama
Twórca tematu
zarejestrowany: 06.01.2009
Posty: 39
kss napisał/a

Musisz odszukać w kodzie rozszerzenia w jaki sposób używana jest wartość strftime.main

PHP
$this->listHeader = $this->convertSpecialCharacters(ucfirst(strftime($this->conf['listView.']['strftime.']['main'],$first_of_month)));


Później musisz niestety zmienić tę linę tak, żeby wykorzystywała stdWrap. Ogólne wywołanie stdWrap ma następującą postać:
PHP
$wartość = $this->cObj->stdWrap($zmienna_do_obróbki,$przepis_obróbki_dla_stdWrap);


Być może w tym przypadku będzie to wyglądało tak:

PHP
//pole datetime używane jest w temp.daty-mianownik więc musimy je sztucznie dodać. W tt_news już było
$this->cObj->data['datetime'] = $first_of_month;
// pierwszy człon może być pusty, bo i tak korzystamy tylko z "datetime"
$this->listHeader = $this->cObj->stdWrap('',$this->conf['listView.']['strftime.']['main.']);


I na koniec wywołanie powinno mieć w tym przypadku postać:
TYPOSCRIPT
plugin.tx_newscalendar_pi1{
  listView{
    strftime.main >
    strftime.main.cObject < temp.daty-mianownik
  }
}


Jak widzisz jest trochę przeróbek. Nie testowałem tego kodu, więc pewnie gdzieś jakiś błąd tu czy tam będzie, ale tak to mniej więcej powinno wyglądać.

I na koniec, jeżeli chciałbyś to zrobić "TYPO3 way", jako że musisz dokonać przeróbki kodu rozszerzenia, to najlepiej jest stworzyć jakieś oddzielne rozszerzenie, które podmieni metodę generate_calendar() przez XCLASSing.


Wreszcie mogłem poddać próbie powyższy przepis icon_smile.gif Zrobiłem dokładnie tak jak kss sugerował (podmiana metody poprzez XCLASSing) - no i oczywiście działa icon_smile.gif
Zatem cytowany powyższy kod wystarczy wkopiować w odpowiednie miejsca w class.tx_newscalendar_pi1.php (a w zasadzie w class.ux_tx_newscalendar_pi1.php). Jeszcze raz dzięki!
Nawiasem mówiąc na home.pl nie tylko to trzeba poprawić w przypadku tej wtyczki icon_smile.gif ale to już zupełnie inna para kaloszy.