I have installed Superfish and overcome all the problems with library location by moving my library to sites/all/libraries

I also had to make a small change to Drupal\superfish\Plugin\Block as follows:

*   deriver = "Drupal\system\Plugin\Derivative\SystemMenuBlock"

Change to

*   derivative = "Drupal\system\Plugin\Derivative\SystemMenuBlock"

So, I finally get a block to configure and there is no field for the menu name. I see that it is attempted in the block code thus:

$menu_name = $this->getDerivativeId();

The problem is that I haven't actually told this block I want to use the Main Menu and so understandably when I enable and go to my site I get WSOD with this underlying error:

LogicException: No menu name provided for menu.active_trails cache context. in Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext->getCacheableMetadata() (line 41 of core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php).

I see that plenty of other people have tried this module and it seems to work for them. I'm using Drupal Core 8.1.6. I have tried this with the latest Superfish dev release and with the current recommended release, and the problem is the same.

Thanks!

Comments

New Zeal created an issue. See original summary.

NewZeal’s picture

Issue summary: View changes
NewZeal’s picture

Some information missing from my issue: The menu block was migrated from a Drupal 6 site. I have since tried it on a Vanilla Drupal 8 site and the same thing happens. I create a superfish block and nowhere does it ask for what menu to superfishify.

NewZeal’s picture

Status: Active » Closed (works as designed)
Issue tags: +Needs documentation

OK, so this was user error. When I installed the module and went to place a block, entering 'superfish' into the search produced no results. The word 'superfish' is in the category and not the block name. I now understand how the deriver reference works, and when I remove that, the superfish block is no longer associated with any menu.

In conclusion, to create a superfish block, search on the menu name, and find a block that has category of 'superfish'. This will be your superfish menu block! Yay!