myamazon-8.x-1.3/src/Form/MyamazonForm.php
src/Form/MyamazonForm.php
<?php namespace Drupal\myamazon\Form; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; class MyamazonForm extends ConfigFormBase { /** * {@inheritdoc} */ public function getFormId() { return 'myamazon_form'; } /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { // Form constructor. $form = parent::buildForm($form, $form_state); // Default settings. $config = $this->config('myamazon.settings'); // Page title field. $form['amazon_key'] = array( '#type' => 'textfield', '#title' => $this->t('Amazon AWS Access Key ID'), '#default_value' => $config->get('myamazon.amazon_key'), '#description' => $this->t('Please enter amazon associate access key'), '#required' => TRUE, ); $form['amazon_secret_key'] = array( '#type' => 'textfield', '#title' => $this->t('Amazon AWS Access Key ID'), '#default_value' => $config->get('myamazon.amazon_secret_key'), '#description' => $this->t('Please enter amazon associate secret access key'), '#required' => TRUE, ); $form['associate_country'] = array( '#type' => 'select', '#title' => t('Please Select Associate Locale'), '#default_value' => $config->get('myamazon.associate_country'), '#required' => TRUE, '#options' => array('0'=> t('Select a country'),'br' => t('Brazil'), 'ca' => t('Canada'), 'cn' => t('China'), 'fr' => t('France'), 'de' => t('Germany'), 'in' => t('India'), 'it' => t('Italy'), 'jp' => t('Japan'), 'mx' => t('Mexico'), 'es' => t('Spain'), 'uk' => t('United kingdom'), 'us' => t('United States')), ); $form['associate_key'] = array( '#type' => 'textfield', '#title' => t('Associate ID'), '#default_value' => $config->get('myamazon.associate_key'), '#description' => t("Enter your associate ID to receive referral bonuses when shoppers purchase Amazon products via your site. "), '#required' => TRUE, ); return $form; } /** * {@inheritdoc} */ public function validateForm(array &$form, FormStateInterface $form_state) { } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { $config = $this->config('myamazon.settings'); $config->set('myamazon.amazon_key', $form_state->getValue('amazon_key')); $config->set('myamazon.amazon_secret_key', $form_state->getValue('amazon_secret_key')); $config->set('myamazon.associate_country', $form_state->getValue('associate_country')); $config->set('myamazon.associate_key', $form_state->getValue('associate_key')); $config->save(); return parent::submitForm($form, $form_state); } /** * {@inheritdoc} */ protected function getEditableConfigNames() { return [ 'myamazon.settings', ]; } }