5

This is one of those times when I tried to add something and realized that I've got it applied to all displays. This time it was a vocabulary filter, so I clicked cancel and it didn't register so I clicked back to site.

After that I tried to edit and it returned

The website encountered an unexpected error. Please try again later.

The log shows this:

Exception: No entity type for field vid on view VIEW in Drupal\views\Plugin\views\HandlerBase->getEntityType() (line 712 of /PATH/core/modules/views/src/Plugin/views/HandlerBase.php).

I checked the active config and couldn't find anything with a vid. Clearing cache and reimporting the view config didn't fix it. So, is there a way?

7

A quick fix would be to delete the data from the expirable key/value store:

\Drupal::keyValueExpirable('tempstore.shared.views')
  ->delete('view_id');

Alternatively you could wait a week until it expires itself - probably not practical :)

  • Could you add a little context to your answer? I’ve faced this issue in the past but am not sure how to apply the above... thanks! – Prestosaurus Feb 2 at 17:04
  • 2
    @Prestosaurus: Use a custom module, or - even easier and with less hassle - the Drush PHP CLI. drushcommands.com/drush-9x/php/php:cli – Mario Steinitz Feb 3 at 8:08
  • 2
    There’s also the /devel/php page if you have the devel module installed @Prestosaurus. Failing that you could literally delete the row from the key_value_expire table and clear the cache – Clive Feb 3 at 14:26
  • Just run this command with drush: drush eval "\Drupal::keyValueExpirable('tempstore.shared.views')->delete('YOUR_VIEW_ID');" – Ales Rebec Apr 4 at 9:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.