szukam haka, który nazywa po utworzeniu widoku lub zmian na stronach takich jak „hide page in nav
”, „deactivate page
” lub „move/delete page
”TYPO3: Hak po utworzeniu lub edycji strony
Czy ktoś wie o jednym?
Dzięki!
szukam haka, który nazywa po utworzeniu widoku lub zmian na stronach takich jak „hide page in nav
”, „deactivate page
” lub „move/delete page
”TYPO3: Hak po utworzeniu lub edycji strony
Czy ktoś wie o jednym?
Dzięki!
Haki te znajdują się w t3lib/class.t3lib_tcemain.php
Oto tylko niektóre z nich:
W twoim przypadku myślę, że możesz użyć "processDatamap_postProcessFieldArray".
Przykład: jak umieścić go w swojej 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';
Przykład Klasa:
<?php
class tx_yourextension_tcemain {
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$pObj) {
if($table == 'pages' && $status =='new') {
// do some stuff
}
}
}
?>
Z $ tabela, można sprawdzić, która tabela jest modyfikowany. $ status umożliwia pobranie bieżącej akcji, na przykład "nowy", "aktualizacja" lub "usuń".
Przykład TYPO3> 6 z nazw na innym haka:
$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';
Istnieje rozszerzenie dmc_hooklist, które zawiera listę wszystkich haków. (używane kilka lat temu)
Lub zajrzyj do t3lib/class.t3lib_tcemain.php są potrzebne haki.
Zastanawiam się dlaczego moja odpowiedź nie był przydatny? Możliwe wyjaśnienie? – maholtz
Witaj, dmc_hooklist jest "standardową" odpowiedzią, ale to rozszerzenie nie działa w moim systemie. Podałeś pierwsze informacje w google, jeśli ktoś szuka w tym temacie. Chciałem dowiedzieć się więcej szczegółów lub najlepszych praktyk.dzięki i tak – FlorianX
Na TYPO3 7,6 wersji
zapisu następującej w 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';
Tworzenie klasy hak /Classes/Hook/TCEmainHook.php, wybrać odpowiednią funkcję z poniższej listy
<?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) {}
}
Dzięki! Jest to sposób, który znalazłem także po wielu godzinach poszukiwań i testów. Jedna niewielka zmiana, używam "hookera processCmdmapClass" i "processCmdmap_deleteAction" w przypadku usuwania. – FlorianX
[To jest zaktualizowany link do t3lib_tcemain.php (typo3 4.5)] (http://api.typo3.org/typo3cms/45/html/classt3lib___t_c_emain.html) – peter
Dziękuję, dodałem go do mojego posta. – Shufla