ここにあるGatherContentモジュールの特定のイベントで何かを発生させようとしています https://www.drupal.org/project/gathercontent
ここの情報に基づいて http://help.gathercontent.com/importing-and-exporting-content/drupal-integration/drupal-integration-extending-the-module-using-the-api およびいくつかのチュートリアルとドキュメント
そのように入力されたコードでモジュールを作成しました
my_gathercontent.services.yml
services:
my_gathercontent:
class: '\Drupal\my_gathercontent\EventSubscriber\MyGatherContentSubscriber'
tags:
- { name: 'event_subscriber' }
src/EventSubscriber/MyGatherContentSubscriber.php
namespace Drupal\my_gathercontent\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Event Subscriber MyGatherContentSubscriber.
*/
class MyGatherContentSubscriber implements EventSubscriberInterface {
public function onGatherContentPostImport(DrupalgathercontentEventPostImportEvent $event) {
\Drupal::logger('my_gathercontent')->notice('This is a test');
drupal_set_message("Debug: This is a test.");
var_dump($event);
}
public static function getSubscribedEvents() {
$events['gathercontent.post_import'] = ['onGatherContentPostImport'];
return $events;
}
}
そして、それらのメッセージはどれもログに記録されません。そのイベントをトリガーする必要のあるアクションを実行した後、ページが見つかりませんというメッセージを受け取りました。何が悪いのかわかりません。
イベントに登録しようとしている方法に何か問題がありますか?
$events
配列の各イベントは、それ自体が配列である必要があります。試してください:
$events['gathercontent.post_import'][] = ['onGatherContentPostImport'];