Как правильно использовать хуки в tt_news для каждого добавления

Недавно я пытался использовать универсальные маркеры для вывода некоторого содержимого базы данных с помощью TypoScript, но мне нужно быть более гибким, поэтому я ищу решение для использования хуков для tt_news. Я хочу проанализировать мой собственный шаблон данных в массиве маркеров tt_news.

Мое собственное расширение поставляется с /Classes/Controller/FahrzeugController.php, и я добавил функцию extraItemMarkerProcessor (..) в соответствии с codehook, предоставленным tt_news.

<?
class FahrzeugController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
function extraItemMarkerProcessor($markerArray, $row, $lConf, $obj) {

$markerArray['###FAHRZEUGE###'] = 'exItMaPro';
return $markerArray;
}
}?>

Затем я добавил некоторые параметры конфигурации в мой ext_localconf.php.

if (TYPO3_MODE!='BE')   {
require_once(t3lib_extMgm::extPath('y7_fahrzeugdatenbank').'/Classes/Controller/FahrzeugController.php');
}
// y7_fahrzeugdatenbank = Path to my Extension , followed by relative path to my .php .

$TYPO3_CONF_VARS['EXTCONF']['tt_news']['extraItemMarkerHook'][] = 'EXT:y7_fahrzeugdatenbank/Classes/Controller/FahrzeugController.php:tx_y7fahrzeugdatenbank'; // tx_y7fahrzeugdatenbank is my SQL prefix

Часть шаблона работает, так как я тестировал ее с помощью общих маркеров и того же файла. По мнению многих интернет-гидов, это должно работать из коробки, как это. Но я не вижу ничего ни в одном виде.

Я даже не знаю, с чего начать.

0

Решение

Ваша регистрация хука в вашем ext_localconf неверна. tx_y7fahrzeugdatenbank не принадлежит там. Вы должны сообщить tt_news, в каком классе php находится ваш код. Это было бы Vendor\Extension\Controller\FahrzeugController если вы следовали структуре папок extbase, ваш класс должен быть автоматически загружен.

Но я настоятельно рекомендую не использовать контроллер extbase для хука tt_news. Используйте класс, который содержит только ваш код, который должен быть выполнен хуком, и ничего более. Вставьте в your_extenion / Классы / Крючки. Используйте правильное пространство имен, и TYPO3 автоматически загрузит ваш класс для вас.

В вашем ext_localconf.php это будет

$TYPO3_CONF_VARS['EXTCONF']['tt_news']['extraItemMarkerHook'][] = 'Vendor\Extension\Hooks\ClassContainingMyHook';
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]