materio_simplenews.module 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. function materio_simplenews_entity_type_alter(array &$entity_types) {
  3. $entity_types['simplenews_subscriber']->setFormClass('materio_block', '\Drupal\materio_simplenews\Form\MaterioSubscriptionsBlockForm');
  4. }
  5. /**
  6. * Implements hook_form_alter().
  7. */
  8. // node_simplenews_issue_edit_form
  9. // function materio_simplenews_form_alter(&$form, &$form_state, $form_id) {
  10. function materio_simplenews_form_node_simplenews_issue_form_alter(&$form, &$form_state, $form_id) {
  11. if(isset($_REQUEST['newsletter'])){
  12. $news_id = $_REQUEST['newsletter'];
  13. $newsletters = array_keys(simplenews_newsletter_get_all());
  14. if(in_array($news_id, $newsletters)){
  15. // prepopulate type of news
  16. $form['simplenews_issue']['widget']['target_id']['#default_value'] = $news_id;
  17. $form['simplenews_issue']['widget']['target_id']['#disabled'] = true;
  18. unset($form['simplenews_issue']['widget']['target_id']['#ajax']);
  19. // change default template regarding type of news
  20. $form['body']['widget'][0]['#default_value'] = materio_simplenews_getSimplenewsNodeBodyTemplate($news_id);
  21. $form['body']['widget'][0]['#rows'] = 50;
  22. }
  23. }
  24. }
  25. function materio_simplenews_getSimplenewsNodeBodyTemplate($news_id){
  26. return file_get_contents(drupal_get_path('module', 'materio_simplenews').'/templates/simplenews_'.$news_id.'_node.html');
  27. }
  28. function materio_simplenews_form_node_simplenews_issue_edit_form_alter(&$form, &$form_state, $form_id) {
  29. $default = $form['simplenews_issue']['widget']['target_id']['#default_value'];
  30. $form['simplenews_issue']['widget']['target_id']['#default_value'] = $default[0];
  31. $form['simplenews_issue']['widget']['target_id']['#disabled'] = true;
  32. }