When typing a name for a new content type or a new view, its machine name is automatically generated as the user types. There is an "edit" link next to it, so that the machine name can be manually edited to be different from the human-readable name:
This "manual" mode for the machine name also kicks in when validation for a machine-name-enabled field fails (when the user leaves the field blank for example). The "Machine-readable name" field in these cases is being exposed, so that the user can free-type the machine name themselves:
When the "Machine-readable name" field is exposed, non-valid characters are allowed to be typed:
...only to throw validation errors when the form gets saved:
Describe the solution you'd like Have it so that as the user types in the machine name manually, the same javascript kicks in as when we are automatically creating the machine name for them. So:
- if the user types capital letters, they are converted to their respective lower-case ones.
- if the user types non-latin letter, they are converted to their respective phonetic replacement combos.
- if the user types symbols, they are either ignored, or replaced with an underscore.
Recent comments
I don't think this answers your question, but it might help someone with a related question. The layout template for any given layout is stored in config and you can programmatically...
How to programmatically change layout?
perfect, thank you
Edit Node fields
Component ID can be found here:
Edit Node fields