При встановленні ve_guestbook для реалізації системи коментарів на сайті виникла проблема - сторінка, на якій разміщувався плагін з формою ve_guestbook, не відображалась взагалі.
в логах:
PHP Fatal error: Call to undefined method t3lib_div::GPvar() in ***/typo3conf/ext/ve_guestbook/pi1/class.tx_veguestbook_pi1.php on line 666
Св'ятий гугл підказав:
в файлі /typo3conf/ext/ve_guestbook/pi1/class.tx_veguestbook_pi1.php
на рядку 666
$this->postvars = t3lib_div::GPvar ( 'tx_veguestbook_pi1' ) ? t3lib_div::GPvar ( 'tx_veguestbook_pi1' ) : array ();
поміняти на
$this->postvars = t3lib_div::_POST ( 'tx_veguestbook_pi1' ) ? t3lib_div::_POST ( 'tx_veguestbook_pi1' ) : array ();
в рядку 634
$markerArray ['###' . strtoupper ( $key ) . '###'] = $value;
на
$markerArray ['###' . strtoupper ( $key ) . '###'] = $value[0]['target'];
з такими змінами форма ve_guestbook не тільки почала відображатися на сайті але й виводити змінні локалізації задані через typoscript.
Але не все виявилось просто. Змінні мови "en" ніяк не хотіли показуватись.
При перевірці is_array ( $this->LOCAL_LANG [$this->LLkey] ) змінна $this->LLkey залишалася пустою. Так ось перед (~630 рядок):
if (is_array ( $this->LOCAL_LANG [$this->LLkey] )) {
додамо
if (!is_array ( $this->LOCAL_LANG [$this->LLkey] )) $this->LLkey='default'; if (is_array ( $this->LOCAL_LANG [$this->LLkey] )) {
Зараз усі мовні змінні "en" будуть доступні в plugin.tx_veguestbook_pi1._LOCAL_LANG.default з typoscript або з контейнера default файлу локалізації locallang.xml