Я создал пустое расширение extbase/fluid и добавил ImportCommandController для задачи планировщика. По какой-то причине я не могу загрузить эту задачу в своем планировщике. Обратите внимание, что я хочу реализовать свою задачу с помощью CommandController (http://wiki.typo3.org/CommandController_In_Scheduler_Task) и NOT через \ TYPO3 \ CMS \ Scheduler \ Task \ AbstractTask.Typo3 - Extbase CommandController для задачи планировщика
ext_localconf.php
<?php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers'][] = 'VENDORx\\Sched\\Command\\ImportCommandController';
Классы/Command/ImportCommandController.php
<?php
namespace VENDORx\Sched\Command;
/**
*
*
* @package Sched
* @license http://www.gnu.org/licenses/gpl.html GNU General Public License, version 3 or later
*
*/
class ImportCommandController extends \TYPO3\CMS\Extbase\Mvc\Controller\CommandController {
public function importCommand($commandIdentifier= NULL) {
echo 'command run';
}
}
?>
любая идея, Что отсутствует ??
Я не уверен, но, возможно, phpdoc-комментарий метода 'importCommand()' отсутствует. По крайней мере, его содержимое отображается, если вы запустите 'php typo3/cli_dispatch.phpsh extbase help', поэтому он интерпретируется. – Jost
Я взял ваш код, добавил 'ext_emconf.php', установил расширение - и он отлично работает (т. Е. В раскрывающемся списке появляется новая задача). Я не добавлял аннотацию к 'importCommand', как было предложено @Jost и @Daniel. Я использую Windows 7 и, в отличие от вас, - Typo3 7.5.0. – gebi
... на самом деле выполнение вашей задачи требует упомянутой аннотации. Без этого появляется следующее сообщение об ошибке: «Выполнение задачи« Задача ExtCase CommandController Task (extbase) »не удалась со следующим сообщением: Тип аргумента для параметра $ commandIdentifier метода [...] -> importCommand() не может быть обнаружено «. – gebi