Warning: Invalid argument supplied for foreach() in zen_preprocess_menu_link() (line 642 of /var/www//sites/all/themes/zen/template.php).
Warning: array_unshift() expects parameter 1 to be array, string given in zen_preprocess_menu_link() (line 651 of /var/www//sites/all/themes/zen/template.php).

I thought it was my module or subtheme, but after disabling both on my site it is still throwing warnings. It appears there is a link somewhere in Zen (or in Drupal core or a contrib module?) that is passing a class to localized options as a string instead of an array.




$variables['element']['#localized_options']['attributes']['class'] is supposed to be an array, isn't it? That's the way its treated in the menu_block.module. Hmmm…

It seems I have similar problem

I "solved" my PHP errors by downgrading from 7.x-5.4 to 7.x-5.1. Versions 7.x-5.x-dev and 7.x-5.2 did not do the trick for me.
I hope this helps patpluspun and the zen mantainers as well.

Issue summary:View changes
new739 bytes

I'm not sure if this is the _best_ way to solve the issue, but here's a fix.

We've been seeing this error for quite a while on a multilingual multisite.

I am curios if this is still an issue with Zen 7.x-5.4
since it has been substantially updated
from the train-wreck that 5.3 was... ?

Please respond, so that, if it is not a problem w/ 5.4,
this issue can be closed with the status: "Closed (Won't Fix)"

Thank you for you time, attention, and help.