Problem/Motivation

As we added ViewMode template suggestions for Nodes here #1503464: Automatically add theme hook suggestion for node view mode and most probably for all entities: #2270883: Automatically add theme hook suggestions for all entity types.
We should also have suggestions for Fields.
Also because you can configure your Field Formatter per Viewmode, I think this is necessary.

Steps to reproduce

Add Theme Hook Suggestions for Fields with View Modes

Proposed resolution

We could add these suggestions:

  • field__[view_mode]
  • field__[view_mode]__[bundle]
  • field__[view_mode]__[field_name]
  • field__[entity_type]__[view_mode]
  • field__[entity_type]__[view_mode]__[bundle]
  • field__[entity_type]__[view_mode]__[field_name]
  • field__[entity_type]__[view_mode]__[field_name]__[bundle]

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

Issue fork drupal-2282159

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

schnitzel’s picture

Status: Active » Needs review
StatusFileSize
new938 bytes

Status: Needs review » Needs work

The last submitted patch, 1: 2282159-field-theme-hook-suggestions-viewmodes.patch, failed testing.

schnitzel’s picture

Status: Needs work » Needs review
StatusFileSize
new875 bytes
andypost’s picture

joelpittet’s picture

Version: 8.0.x-dev » 8.1.x-dev
Issue summary: View changes

Bumping as it's a feature request.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.0-beta1 was released on March 2, 2016, which means new developments and disruptive changes should now be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

ksenzee’s picture

Status: Needs review » Reviewed & tested by the community

Looks good to me, and we do need it.

lauriii’s picture

Status: Reviewed & tested by the community » Postponed
Related issues: +#1367354: The list of theme hook suggestions for "field" is incorrectly ordered and has namespacing collisions

It looks like this makes the pre-existing bug where template suggestions collide even worse. Therefore I think we have to wait till #1367354: The list of theme hook suggestions for "field" is incorrectly ordered and has namespacing collisions gets fixed.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

joelpittet’s picture

Status: Postponed » Active

Since the issue this was postponed on was fixed in another manor I'll reopen this for review.

safallia joseph’s picture

Assigned: Unassigned » safallia joseph
safallia joseph’s picture

Hi,

Rerolled the patch in #3 so as to sanitize the view mode name and create the template suggestion. Please review.

Thanks!

safallia joseph’s picture

Assigned: safallia joseph » Unassigned
Status: Active » Needs review
safallia joseph’s picture

kbeck303’s picture

I have tested the patch in comment #17 on drupal version 8.5.1 and the field theme suggestions by view mode are displaying as excepted.

field-featured-image = field name
exhibition = content type
teaser = view mode

<!-- FILE NAME SUGGESTIONS:
   * field--node--field-featured-image--exhibition--teaser.html.twig
   * field--node--field-featured-image--teaser.html.twig
   * field--node--field-featured-image--exhibition.html.twig
   x field--node--field-featured-image.html.twig
   * field--node--exhibition.html.twig
   * field--field-featured-image.html.twig
   * field--entity-reference.html.twig
   * field.html.twig
-->
markhalliwell’s picture

Status: Needs review » Needs work
Issue tags: +Needs tests

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

weseze’s picture

Attached is a patch that works against 8.6.

I could not find any tests in core that test for field template suggestions. Where should I start looking to add tests?

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

nikhil_110’s picture

StatusFileSize
new1.29 KB
new1.81 KB

Tre to #21 Cs issue fix for Drupal 10.x

ashutosh ahirwal’s picture

Status: Needs work » Needs review
StatusFileSize
new1.32 KB

Providing Patch.

smustgrave’s picture

Status: Needs review » Needs work
Issue tags: +Needs Review Queue Initiative

Patch #30 appears to have a small out of scope change.

Moving back to NW as the tests are still needed.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

prudloff made their first commit to this issue’s fork.

prudloff’s picture

Issue summary: View changes
Status: Needs work » Needs review
Issue tags: -Needs tests

I added a test.

smustgrave’s picture

Status: Needs review » Needs work

Issue summary appears to be incomplete, missing solution section

prudloff’s picture

Issue summary: View changes
Status: Needs work » Needs review

I added the proposed solution.

smustgrave’s picture

Status: Needs review » Reviewed & tested by the community

Thanks! Changes appear good.

nod_’s picture

We're trying to move away from template suggestions so not sure it makes sense to add more for everyone to use, I mean the issue is more than 10 years old no sure it's worth adding something we're trying to move away from.

pdureau’s picture

Status: Reviewed & tested by the community » Closed (won't fix)

We're trying to move away from template suggestions so not sure it makes sense to add more for everyone to use, I mean the issue is more than 10 years old no sure it's worth adding something we're trying to move away from.

I totally agree. With SDC and other additions, we are heading to a future where template suggestions will not be necessary anymore.

Moreover, the proposed change (6 lines in hook_theme_suggestions_field()) is a manageable task for projects who can set precisely the template suggestions they expects instead of enabling all of them in our system module.

pdureau’s picture