2.7 KiB
+++ title = "When There's Not a Module For That" outputs = ["Reveal"] +++
When There's Not a Module For That
mid.camp/6337

{{% note %}} mid-air camp {{% /note %}}
Presented by
Benjamin Melançon & Mauricio Dinarte
AKA


{{% note %}} mid-air camp {{% /note %}}
When building a Drupal site, “there’s a module for that” can be the sweetest words you can hear.
{{% note %}} {{% /note %}}
{{% note %}} Say you're creating a site where people can relive great literature that may have been inspired by a global pandemic. {{% /note %}}
frankenstein.info.yml
name: Frankenstein
type: module
description: "Rename save button for Frankenstein's content."
core: 8.x
frankenstein.module
<?php
function frankenstein_form_node_frankenstein_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state) {
$form['actions']['submit']['#value'] = t('Re-animate!');
}
Where to put these files
Enable your module:
drush -y en frankenstein
That slide was the most important you're going to be shown.
Enable your module
{{% note %}} So you're all sitting* there thinking ... sure, that's easy if you know the exact words and symbols to put in that file. And you're absolutely right.
And we're going to tell you how you can figure out all of that.
The examples with the what will tell you a lot about the how.
But first, two secrets. {{% /note %}}
Now you know where to paste
(helping developers quit vim)
{{% note %}} Knowing where to put this code unleashes the power of Stack Overflow.
You now know enough to be dangerous. {{% /note %}}
That simple form alter has hidden gotchas
- As written, it only applies to the create (node/add) form— not the edit form.
- There's a dozen variations
{{% note %}} {{% /note %}}
{{% note %}} Doing something with a form? You want hook_form_alter() or one of its {{% /note %}}
{{% note %}} {{% /note %}}
{{% note %}} {{% /note %}}