Steps to reproduce:
- Create a layout, give it a name, select a template.
- Add
about
as the layout path. - Save
Actual behavior
Error: That path is currently assigned to be an alias for "node/2". Delete the alias first, then save this layout.
The "Delete the alias first" bit is a link that leads you to a confirmation form:
We have made this "smart", so we include a destination back to admin/structure/layouts/add
. Still, when the user returns, the form is blank; the layout name, template, and path have not been retained .
Expected behavior
When the user returns to the layout add form, all previously entered data has been retained.
Even more expected behavior
Instead of showing an initial error, then having the user confirm the action, then return them back to the layout add form, we should be redirecting to the confirmation page with a message along the lines of:
That path is currently assigned to be an alias for "node/2". In order to proceed, that alias will be removed and then replaced by this layout.
...once the user responds "yes", we save the layout and provide a success message:
Layout "About" has been created, replacing the path alias for "node/2"
Go above and beyond
We store the node path of the previously removed alias in the layout settings. If the layout is deleted in the future, we check to see if the alias is in use, and we restore it (or at least offer the user the option to). UX+++
Recent comments
Thanks guys, that worked. Although I did get this output: Notice: unserialize(): Error at offset 0 of 91 bytes in content_access_update_1002() (line 134 of /home/crm/domains/...
Drupal 7 Migration, content_access issue
Hello FTW, Did you ever resolve this challenge?
RSS Help Needed
Thanks!
Webform - can they be saved?