Chris@0: dbConnection = $db_connection; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { Chris@0: return new static( Chris@0: $configuration, Chris@0: $plugin_id, Chris@0: $plugin_definition, Chris@0: $container->get('menu_link.static.overrides'), Chris@0: $container->get('database') Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getTitle() { Chris@0: $count = $this->dbConnection->query('SELECT COUNT(*) FROM {messages}')->fetchField(); Chris@0: return $this->t('Messages (@count)', ['@count' => $count]); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getRouteName() { Chris@0: return '{{ machine_name }}.messages'; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getCacheTags() { Chris@0: // @DCG Invalidate this tags when messages are created or removed. Chris@0: return ['{{ machine_name }}.messages_count']; Chris@0: } Chris@0: Chris@0: }