tôi đang tìm kiếm một cái móc được gọi là sau khi tạo một trang hay thay đổi nào trên các trang như "hide page in nav
", "deactivate page
" hoặc "move/delete page
"Typo3: Hook sau khi tạo hoặc chỉnh sửa trang
Không ai biết của một?
Cảm ơn!
tôi đang tìm kiếm một cái móc được gọi là sau khi tạo một trang hay thay đổi nào trên các trang như "hide page in nav
", "deactivate page
" hoặc "move/delete page
"Typo3: Hook sau khi tạo hoặc chỉnh sửa trang
Không ai biết của một?
Cảm ơn!
Những Móc được đặt tại t3lib/class.t3lib_tcemain.php
Sau đây là một số những:
Trong trường hợp của bạn, tôi nghĩ bạn có thể sử dụng "processDatamap_postProcessFieldArray".
Ví dụ làm thế nào để đưa nó vào trong bạn 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';
Ví dụ lớp:
<?php
class tx_yourextension_tcemain {
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$pObj) {
if($table == 'pages' && $status =='new') {
// do some stuff
}
}
}
?>
Với $ bảng, bạn có thể kiểm tra bảng được sửa đổi. $ status cho phép bạn truy xuất hành động hiện tại, ví dụ "mới", "cập nhật" hoặc "xóa".
Ví dụ cho Typo3> 6 với không gian tên trên móc khác:
$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';
Có phần mở rộng dmc_hooklist liệt kê tất cả các móc. (sử dụng một vài năm trước)
Hoặc có một cái nhìn vào t3lib/class.t3lib_tcemain.php có những móc bạn cần.
tôi tự hỏi, tại sao câu trả lời của tôi đã không hữu ích? Giải thích có thể? – maholtz
Xin chào, dmc_hooklist là câu trả lời "chuẩn" nhưng tiện ích mở rộng này không hoạt động trên hệ thống của tôi. Bạn đã đưa ra thông tin đầu tiên trên google nếu ai đó đang tìm kiếm trong chủ đề này. Tôi muốn tìm hiểu thêm chi tiết hoặc thực hành tốt nhất.cảm ơn anyway – FlorianX
Đối Typo3 7,6 phiên bản
Viết sau trong 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';
Tạo móc lớp /Classes/Hook/TCEmainHook.php, Chọn chức năng thích hợp từ danh sách dưới đây
<?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) {}
}
Cảm ơn! Đó là cách tôi cũng đã tìm thấy bây giờ sau giờ tìm kiếm và thử nghiệm. Một chút thay đổi, tôi sử dụng 'processCmdmapClass' Hook và' processCmdmap_deleteAction' i trường hợp xóa. – FlorianX
[Đây là liên kết được cập nhật cho t3lib_tcemain.php (typo3 4.5)] (http://api.typo3.org/typo3cms/45/html/classt3lib___t_c_emain.html) – peter
Cảm ơn bạn, tôi đã thêm nó vào bài đăng của tôi. – Shufla