/** * {@inheritdoc} */ public function routes() { $routes = array(); $signups = mailchimp_signup_load_multiple(); /* @var $signup \Drupal\mailchimp_signup\Entity\MailchimpSignup */ foreach ($signups as $signup) { if (intval($signup->mode) == MAILCHIMP_SIGNUP_PAGE || intval($signup->mode) == MAILCHIMP_SIGNUP_BOTH) { $routes['mailchimp_signup.' . $signup->id] = new Route('/' . $signup->settings['path'], array('_controller' => '\\Drupal\\mailchimp_signup\\Controller\\MailchimpSignupController::page', '_title' => $signup->title, 'signup_id' => $signup->id), array('_permission' => 'access mailchimp signup pages')); } } return $routes; }
/** * {@inheritdoc} */ public function getDerivativeDefinitions($base_plugin_definition) { $signups = mailchimp_signup_load_multiple(); /* @var $signup \Drupal\mailchimp_signup\Entity\MailchimpSignup */ foreach ($signups as $signup) { if (intval($signup->mode) == MAILCHIMP_SIGNUP_BLOCK || intval($signup->mode) == MAILCHIMP_SIGNUP_BOTH) { $this->derivatives[$signup->id] = $base_plugin_definition; $this->derivatives[$signup->id]['admin_label'] = t('Mailchimp Subscription Form: @name', array('@name' => $signup->label())); } } return $this->derivatives; }