[BZ] MenuFlex

[BZ] MenuFlex 2.0.2

No permission to download
Aha! That is the cause of this issue. It has been doing my head in. I'm facing a lot of styling and css loading issues. But as I've just upgraded my site to xf2 its hard to see which issue is caused by what.
 
View attachment 327326View attachment 327327

This is my localhost install on 2.3. I disabled every single add-on other than yours and issue still persists.

Aha! That is the cause of this issue. It has been doing my head in. I'm facing a lot of styling and css loading issues. But as I've just upgraded my site to xf2 its hard to see which issue is caused by what.


Edit: I believe I have tracked down the issue you may be seeing. It is related to XenForo color variables not being processed correctly on @import(ed) LESS templates. This does not seem to affect everyone the same and could be related to admins installing the add-on while in development mode.

If you have the issue you will see an on page error 500 Internal server error related to LESS and a logged error in XenForo referring to:
  • ArgumentCountError: Too few arguments to function Less_Functions::hsl(), 1 passed in /home/altboard/area51/src/vendor/oyejorge/less.php/lib/Less/Tree/Call.php on line 76 and exactly 3 expected src/vendor/oyejorge/less.php/lib/Less/Functions.php:84
For those having issues I recommend using 2.0.0 until 2.0.2 is released. If you've upgraded just uninstall and reinstall the older version, be sure to have a copy of your previous add-on settings as they will be lost. If you are still having the issue temporarily disable the Tiered menus option until 2.0.2 is released.
 
Last edited:
bzcomputers updated [BZ] MenuFlex with a new update entry:

2.0.2 - Enhancements and bugfix

  • Fixed a couple small LESS bugs - including an issue when XenForo would not process color variables when imported from another LESS template
  • Major overhaul to CSS/LESS to further improve menu visuals and reduce some code redundancy when selecting multiple add-on options
  • Reorganized options page
After updating be sure to resave your setup options so your custom bzmf_final.less can be recompiled.

Read the rest of this update entry...
 
This update does not fix the following error:
Code:
    ArgumentCountError: Too few arguments to function Less_Functions::hsl(), 1 passed in /src/vendor/oyejorge/less.php/lib/Less/Tree/Call.php on line 76 and exactly 3 expected src/vendor/oyejorge/less.php/lib/Less/Functions.php:84

    Generated by: Unknown account Sep 20, 2025 at 11:33 AM

Stack trace

#0 src/vendor/oyejorge/less.php/lib/Less/Tree/Call.php(76): Less_Functions->hsl(Object(Less_Tree_Call))
#1 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(46): Less_Tree_Call->compile(Object(Less_Environment))
#2 src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php(25): Less_Tree_Expression->compile(Object(Less_Environment))
#3 src/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php(76): Less_Tree_Value->compile(Object(Less_Environment))
#4 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Rule->compile(Object(Less_Environment))
#5 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#6 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#7 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#8 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#9 src/vendor/oyejorge/less.php/lib/Less/Tree/Media.php(64): Less_Tree_Ruleset->compile(Object(Less_Environment))
#10 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Media->compile(Object(Less_Environment))
#11 src/vendor/oyejorge/less.php/lib/Less/Parser.php(181): Less_Tree_Ruleset->compile(Object(Less_Environment))
#12 src/XF/CssRenderer.php(431): Less_Parser->getCss()
#13 src/XF/CssRenderer.php(371): XF\CssRenderer->renderToCss('public:bzmf_fin...', '// Note that th...')
#14 src/addons/vw/vw/XF/CssRenderer.php(39): XF\CssRenderer->renderTemplate('public:bzmf_fin...', NULL, true)
#15 src/XF/CssRenderer.php(279): vw\vw\XF\CssRenderer->renderTemplate('public:bzmf_fin...', NULL)
#16 src/XF/CssRenderer.php(135): XF\CssRenderer->renderTemplates(Array, Array, Array)
#17 src/XF/CssWriter.php(60): XF\CssRenderer->render(Array)
#18 css.php(32): XF\CssWriter->run(Array, 0, 2, '53acdedd0559cee...')
#19 {main}

Request state

array(4) {
  ["url"] => string(649) "/css.php?css=public%3Aallm_tag_check_post_links_status.less%2Cpublic%3Abb_code.less%2Cpublic%3Abzmf_final.less%2Cpublic%3Amessage.less%2Cpublic%3Amrs_message.less%2Cpublic%3Anotices.less%2Cpublic%3Aozzmodz_badges.less%2Cpublic%3Aozzmodz_badges_featured_badges.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Asiropu_ads_manager_ad.less%2Cpublic%3Astructured_list.less%2Cpublic%3Avw_attach.less%2Cpublic%3Avw_base.less%2Cpublic%3Avw_bbcode.less%2Cpublic%3Avw_list.less%2Cpublic%3Avw_section.less%2Cpublic%3Axb.less%2Cpublic%3Axb_search.less%2Cpublic%3Aextra.less%2Cpublic%3Avw_additional.less&l=2&d=1758280524&k=53acdedd0559ceeab27af1ca1bf753778cdc88e1"
  ["referrer"] => bool(false)
  ["_GET"] => array(4) {
    ["css"] => string(498) "public:allm_tag_check_post_links_status.less,public:bb_code.less,public:bzmf_final.less,public:message.less,public:mrs_message.less,public:notices.less,public:ozzmodz_badges.less,public:ozzmodz_badges_featured_badges.less,public:share_controls.less,public:siropu_ads_manager_ad.less,public:structured_list.less,public:vw_attach.less,public:vw_base.less,public:vw_bbcode.less,public:vw_list.less,public:vw_section.less,public:xb.less,public:xb_search.less,public:extra.less,public:vw_additional.less"
    ["l"] => string(1) "2"
    ["d"] => string(10) "1758280524"
    ["k"] => string(40) "53acdedd0559ceeab27af1ca1bf753778cdc88e1"
  }
  ["_POST"] => array(0) {
  }
}
 
This update does not fix the following error:
Code:
    ArgumentCountError: Too few arguments to function Less_Functions::hsl(), 1 passed in /src/vendor/oyejorge/less.php/lib/Less/Tree/Call.php on line 76 and exactly 3 expected src/vendor/oyejorge/less.php/lib/Less/Functions.php:84

    Generated by: Unknown account Sep 20, 2025 at 11:33 AM

Stack trace

#0 src/vendor/oyejorge/less.php/lib/Less/Tree/Call.php(76): Less_Functions->hsl(Object(Less_Tree_Call))
#1 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(46): Less_Tree_Call->compile(Object(Less_Environment))
#2 src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php(25): Less_Tree_Expression->compile(Object(Less_Environment))
#3 src/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php(76): Less_Tree_Value->compile(Object(Less_Environment))
#4 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Rule->compile(Object(Less_Environment))
#5 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#6 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#7 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#8 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#9 src/vendor/oyejorge/less.php/lib/Less/Tree/Media.php(64): Less_Tree_Ruleset->compile(Object(Less_Environment))
#10 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Media->compile(Object(Less_Environment))
#11 src/vendor/oyejorge/less.php/lib/Less/Parser.php(181): Less_Tree_Ruleset->compile(Object(Less_Environment))
#12 src/XF/CssRenderer.php(431): Less_Parser->getCss()
#13 src/XF/CssRenderer.php(371): XF\CssRenderer->renderToCss('public:bzmf_fin...', '// Note that th...')
#14 src/addons/vw/vw/XF/CssRenderer.php(39): XF\CssRenderer->renderTemplate('public:bzmf_fin...', NULL, true)
#15 src/XF/CssRenderer.php(279): vw\vw\XF\CssRenderer->renderTemplate('public:bzmf_fin...', NULL)
#16 src/XF/CssRenderer.php(135): XF\CssRenderer->renderTemplates(Array, Array, Array)
#17 src/XF/CssWriter.php(60): XF\CssRenderer->render(Array)
#18 css.php(32): XF\CssWriter->run(Array, 0, 2, '53acdedd0559cee...')
#19 {main}

Request state

array(4) {
  ["url"] => string(649) "/css.php?css=public%3Aallm_tag_check_post_links_status.less%2Cpublic%3Abb_code.less%2Cpublic%3Abzmf_final.less%2Cpublic%3Amessage.less%2Cpublic%3Amrs_message.less%2Cpublic%3Anotices.less%2Cpublic%3Aozzmodz_badges.less%2Cpublic%3Aozzmodz_badges_featured_badges.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Asiropu_ads_manager_ad.less%2Cpublic%3Astructured_list.less%2Cpublic%3Avw_attach.less%2Cpublic%3Avw_base.less%2Cpublic%3Avw_bbcode.less%2Cpublic%3Avw_list.less%2Cpublic%3Avw_section.less%2Cpublic%3Axb.less%2Cpublic%3Axb_search.less%2Cpublic%3Aextra.less%2Cpublic%3Avw_additional.less&l=2&d=1758280524&k=53acdedd0559ceeab27af1ca1bf753778cdc88e1"
  ["referrer"] => bool(false)
  ["_GET"] => array(4) {
    ["css"] => string(498) "public:allm_tag_check_post_links_status.less,public:bb_code.less,public:bzmf_final.less,public:message.less,public:mrs_message.less,public:notices.less,public:ozzmodz_badges.less,public:ozzmodz_badges_featured_badges.less,public:share_controls.less,public:siropu_ads_manager_ad.less,public:structured_list.less,public:vw_attach.less,public:vw_base.less,public:vw_bbcode.less,public:vw_list.less,public:vw_section.less,public:xb.less,public:xb_search.less,public:extra.less,public:vw_additional.less"
    ["l"] => string(1) "2"
    ["d"] => string(10) "1758280524"
    ["k"] => string(40) "53acdedd0559ceeab27af1ca1bf753778cdc88e1"
  }
  ["_POST"] => array(0) {
  }
}
It should.

Try uninstalling and reinstalling. Be sure your browser cache is cleared.
 
This update does not fix the following error:
Code:
    ArgumentCountError: Too few arguments to function Less_Functions::hsl(), 1 passed in /src/vendor/oyejorge/less.php/lib/Less/Tree/Call.php on line 76 and exactly 3 expected src/vendor/oyejorge/less.php/lib/Less/Functions.php:84

    Generated by: Unknown account Sep 20, 2025 at 11:33 AM

Stack trace

#0 src/vendor/oyejorge/less.php/lib/Less/Tree/Call.php(76): Less_Functions->hsl(Object(Less_Tree_Call))
#1 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(46): Less_Tree_Call->compile(Object(Less_Environment))
#2 src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php(25): Less_Tree_Expression->compile(Object(Less_Environment))
#3 src/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php(76): Less_Tree_Value->compile(Object(Less_Environment))
#4 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Rule->compile(Object(Less_Environment))
#5 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#6 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#7 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#8 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#9 src/vendor/oyejorge/less.php/lib/Less/Tree/Media.php(64): Less_Tree_Ruleset->compile(Object(Less_Environment))
#10 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Media->compile(Object(Less_Environment))
#11 src/vendor/oyejorge/less.php/lib/Less/Parser.php(181): Less_Tree_Ruleset->compile(Object(Less_Environment))
#12 src/XF/CssRenderer.php(431): Less_Parser->getCss()
#13 src/XF/CssRenderer.php(371): XF\CssRenderer->renderToCss('public:bzmf_fin...', '// Note that th...')
#14 src/addons/vw/vw/XF/CssRenderer.php(39): XF\CssRenderer->renderTemplate('public:bzmf_fin...', NULL, true)
#15 src/XF/CssRenderer.php(279): vw\vw\XF\CssRenderer->renderTemplate('public:bzmf_fin...', NULL)
#16 src/XF/CssRenderer.php(135): XF\CssRenderer->renderTemplates(Array, Array, Array)
#17 src/XF/CssWriter.php(60): XF\CssRenderer->render(Array)
#18 css.php(32): XF\CssWriter->run(Array, 0, 2, '53acdedd0559cee...')
#19 {main}

Request state

array(4) {
  ["url"] => string(649) "/css.php?css=public%3Aallm_tag_check_post_links_status.less%2Cpublic%3Abb_code.less%2Cpublic%3Abzmf_final.less%2Cpublic%3Amessage.less%2Cpublic%3Amrs_message.less%2Cpublic%3Anotices.less%2Cpublic%3Aozzmodz_badges.less%2Cpublic%3Aozzmodz_badges_featured_badges.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Asiropu_ads_manager_ad.less%2Cpublic%3Astructured_list.less%2Cpublic%3Avw_attach.less%2Cpublic%3Avw_base.less%2Cpublic%3Avw_bbcode.less%2Cpublic%3Avw_list.less%2Cpublic%3Avw_section.less%2Cpublic%3Axb.less%2Cpublic%3Axb_search.less%2Cpublic%3Aextra.less%2Cpublic%3Avw_additional.less&l=2&d=1758280524&k=53acdedd0559ceeab27af1ca1bf753778cdc88e1"
  ["referrer"] => bool(false)
  ["_GET"] => array(4) {
    ["css"] => string(498) "public:allm_tag_check_post_links_status.less,public:bb_code.less,public:bzmf_final.less,public:message.less,public:mrs_message.less,public:notices.less,public:ozzmodz_badges.less,public:ozzmodz_badges_featured_badges.less,public:share_controls.less,public:siropu_ads_manager_ad.less,public:structured_list.less,public:vw_attach.less,public:vw_base.less,public:vw_bbcode.less,public:vw_list.less,public:vw_section.less,public:xb.less,public:xb_search.less,public:extra.less,public:vw_additional.less"
    ["l"] => string(1) "2"
    ["d"] => string(10) "1758280524"
    ["k"] => string(40) "53acdedd0559ceeab27af1ca1bf753778cdc88e1"
  }
  ["_POST"] => array(0) {
  }
}
its a Less code issue. Generally happens when there is some empty variable being passed in less file and condition for the same is not handled or because outdated code.
 
its a Less code issue. Generally happens when there is some empty variable being passed in less file and condition for the same is not handled or because outdated code.
It was fixed in the latest version (2.0.2).

It was previously caused by XenForo not processing color variables on imported LESS templates. Templates are now included in a different way fixing the error so the color variables are processed correctly.

The issue was reported again likely because the admin did not resave the add-on settings recompiling the bzmf_final.less template after updating the add-on. This would cause the old way of importing to still be used.

Install or update to version 2.0.2, go to the add-ons setup page and resave settings. No more errors.

...and thanks to @Matt C. for allowing me access to his test site where the issue did show itself. The issue would only show on certain setups with certain options selected (of course there had to be a LESS variable in play) and this addon only uses a couple of them and those are dependent on the settings you select or customizations you input yourself.
 
Last edited:
Neat addon, appreciate it @bzcomputers however I find that the level 2 menus do not seem to inherit dark theme colour variants/palletes when tiered menus are enabled i.e. the child menus of submenus. They seem to render in primary light colours only.
 
Last edited:
Neat addon, appreciate it @bzcomputers however I find that the level 2 menus do not seem to inherit dark theme colour variants/palletes when tiered menus are enable i.e. the child menus of submenus. They seem to render in primary light colours only.
Thanks for the report. It should be easy fix. I should have an update out tonight or tomorrow.
 
@ichpen In the meantime throw this in your extra.less template. It should fix the issue.

CSS:
@media all and (min-width: 651px) {
    .menu--structural .menu-content > .nav-popout .nav-popout--menu {
        background: @xf-contentBg;
    }
}

I may delay putting out an update for just this for now.
 
Back
Top Bottom