Я ищу крючок, который вызывается после создания страницы или изменяется на страницах типа "hide page in nav
", "deactivate page
" или "move/delete page
"
Знает ли кто-нибудь о нем?
Спасибо!
Я ищу крючок, который вызывается после создания страницы или изменяется на страницах типа "hide page in nav
", "deactivate page
" или "move/delete page
"
Знает ли кто-нибудь о нем?
Спасибо!
Эти Крюки расположены в t3lib/class.t3lib_tcemain.php
Ниже перечислены только некоторые из них:
В вашем случае, я думаю, вы могли бы использовать processDatamap_postProcessFieldArray.
Пример того, как включить его в ext_localconf.php:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:your_extension/hooks/class.tx_yourextension_tcemain.php:tx_yourextension_tcemain';
Пример класса:
<?php
class tx_yourextension_tcemain {
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$pObj) {
if($table == 'pages' && $status =='new') {
// do some stuff
}
}
}
?>
С $table вы можете проверить, какая таблица изменена. $status позволяет вам получить текущее действие, например "новое", "обновление" или "удалить".
Пример для TYPO3 > 6 с пространствами имен на другом крюке:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/tslib/class.tslib_menu.php']['filterMenuPages']['YourExtension\\Hook\\FilterMenuPages'] = 'EXT:your_extension/Classes/Hook/FilterMenuPages.php:YourExtension\Hook\FilterMenuPages';
Для версии TYPO3 7.6
Напишите следующее в ext_localconf.php
$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass']['extkey'] = 'Vendor\\Extension\\Hook\\TCEmainHook';
$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass']['extkey'] = 'Vendor\\Extension\\Hook\\TCEmainHook';
Создайте класс hook /Classes/Hook/TCEmainHook.php, выберите подходящую функцию из списка ниже
<?php
namespace Vendor\Extension\Hook;
class TCEmainHook {
public function processCmdmap_preProcess($command, $table, $id, $value, \TYPO3\CMS\Core\DataHandling\DataHandler &$pObj) {}
public function processCmdmap_postProcess($command, $table, $id, $value, \TYPO3\CMS\Core\DataHandling\DataHandler &$pObj) {}
public function processDatamap_preProcessFieldArray(array &$fieldArray, $table, $id, \TYPO3\CMS\Core\DataHandling\DataHandler &$pObj) {}
public function processCmdmap_deleteAction($table, $id, $recordToDelete, $recordWasDeleted=NULL, \TYPO3\CMS\Core\DataHandling\DataHandler &$pObj) {}
public function processDatamap_afterAllOperations(\TYPO3\CMS\Core\DataHandling\DataHandler &$pObj) {}
public function processDatamap_postProcessFieldArray($status, $table, $id, array &$fieldArray, \TYPO3\CMS\Core\DataHandling\DataHandler &$pObj) {}
public function processDatamap_afterDatabaseOperations($status, $table, $id, array $fieldArray, \TYPO3\CMS\Core\DataHandling\DataHandler &$pObj) {}
}
Существует расширение dmc_hooklist, в котором перечислены все перехватчики. (используется несколько лет назад)
Или посмотрите на t3lib/class.t3lib_tcemain.php, есть нужные вам крючки.