localgovdrupal / localgov_events

Events for LocalGov Drupal.
GNU General Public License v2.0
1 stars 0 forks source link

Remove localgov_events_image field, replace it with core field_media_image #31

Open markconroy opened 3 years ago

markconroy commented 3 years ago

We should remove the custom image field we have in events, and instead use the core media image field.

This means when writing a template (e.g. node--teaser.html.twig) we can have logic like this:

{% if node.field_media_image.value %}
  {{ content.field_media_image }}
{% endif %}

Instead of logic like this:

{% if node.bundle == 'localgov_event' %}
  {% if node.field_localgov_event_image.value %}
    {{ content.field_localgov_event_image }}
  {% endif %}
  {% else %}
  {% if node.field_media_image.value %}
    {{ content.field_media_image }}
  {% endif %}
{% endif %}

You can imagine how complex and technical-debtty it's going to get in the future if we have more content types with custom fields for teaser images, it could end up like this:

{% if node.bundle == 'localgov_event' %}
  {% if node.field_localgov_event_image.value %}
    {{ content.field_localgov_event_image }}
  {% endif %}
  {% elseif node.bundle == 'localgov_directory' %}
    {% if node.localgov_directory_image.value %}
      {{ content.localgov_directory_image }}
    {% endif %}
  {% elseif node.bundle == 'localgov_service' %}
    {% if node.localgov_service_image.value %}
      {{ content.localgov_service_image }}
    {% endif %}
{% elseif node.bundle == 'localgov_service' %} etc
{% elseif node.bundle == 'localgov_service' %} etc
{% elseif node.bundle == 'localgov_service' %} etc
  {% if node.field_media_image.value %}
    {{ content.field_media_image }}
  {% endif %}
{% endif %}