|
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
|
|
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
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
$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ć:
$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:
//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ć:
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ę 
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
$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ć:
$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:
//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ć:
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 Zrobiłem dokładnie tak jak kss sugerował (podmiana metody poprzez XCLASSing) - no i oczywiście działa
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 ale to już zupełnie inna para kaloszy.
|