Problem/Motivation

Currently, Mailchimp signup forms urls are hardcoded through hook_menu(). This has a few disadvantages:

  • It limits integration with contrib modules that complement Mailchimp signup forms, such as ctools_automodel
  • It limits options for localizing URLs for different languages.
  • (Re-) building the menu router requires loading all Mailchimp signup forms. For larger sites this can cause a performance hit.
  • It requires custom logic for menu rebuilding when updating Mailchimp signup forms.

Proposed resolution

Use wildcard loading for building signup forms (eg. 'mailchimp_signup/%mailchimp_signup') and rely on the {url_alias} table to provide pretty urls.

Remaining tasks

  1. Write a patch
  2. Review
  3. Commit

User interface changes

The 'path' setting has been moved to a separate field and has an option to automatically generate an alias when the pathauto module is enabled. The new url alias is still available through an upgrade path.

API changes

None.

Data model changes

The 'path' setting has been moved to a separate field and is no longer saved with the Mailchimp signup entity.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

idebr created an issue. See original summary.

idebr’s picture

samuel.mortenson’s picture

Status: Needs review » Closed (won't fix)

@idebr We’re in maintenance-mode for the Drupal 7 releases of Mailchimp, so only bug fixes or low-impact features can be added. Any new features should be developed for the Drupal 8 releases of Mailchimp. Thanks!