Hide block/view if No results behavior

Created on 22 August 2024, 4 months ago

Problem/Motivation

Reopening this issue as 3334147 πŸ› Empty content view Fixed was closed but the problem has not been resolved as missing patch #4.

Proposed resolution

Attached patch works as expected and should be released.

3334147_3.patch β†’

πŸ› Bug report
Status

Active

Version

2.1

Component

Code

Created by

πŸ‡ΈπŸ‡°Slovakia coaston

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @coaston
  • Status changed to Postponed: needs info 3 months ago
  • πŸ‡©πŸ‡ͺGermany Anybody Porta Westfalica

    @coaston how do you come to this conclusion?

    Comparing the commit from the linked issue
    https://git.drupalcode.org/project/entity_extra_field/-/commit/94a2ab3dc...
    to the latest branch:
    https://git.drupalcode.org/project/entity_extra_field/-/blob/2.1.x/src/P...

    it's present!

  • it's present!

    Coaston means to say that the original commit is incomplete, not that the commit is missing.

    The MR created by jnettik implemented the fix in a different way from the patch file submitted by artyom. Namely:

    • The MR implementation simply calls Element::isEmpty()
    • The patch file implementation additionally executes the view to check if the rendered output is empty

    This is significant in the special case of views because as explained πŸ› Empty content view Fixed :

    ViewExecutable will build a render array regardless of whether it has anything to display, because the view is not executed until render time, and hence just checking the render array it not reliable, which is all Element::isEmpty() does.

    The Drupal Core views block display plugin (\Drupal\views\Plugin\views\display\Block::execute()) suggests that the correct way to check is to actually execute the view with arguments, then check $view->getDisplay()->outputIsEmpty(), which is how the plugin implements its "Hide block if the view output is empty" option.

Production build 0.71.5 2024