Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
In 6.x-1.x the menu attributes form is not displayed because a value
FAPI element cannot contain our fieldset.
Comment | File | Size | Author |
---|---|---|---|
#10 | 1241828-menu_attributes_form_not_displayed-10.patch | 728 bytes | amateescu |
#4 | 1241828-menu_attributes_form_not_displayed-4.patch | 3.99 KB | amateescu |
#1 | 1241828-menu_attributes_form_not_displayed.patch | 530 bytes | amateescu |
Comments
Comment #1
amateescu CreditAttribution: amateescu commentedAnd the patch.
Btw, I think that our branches are kinda messed up ATM. I propose that we create a 6.x-2.x branch before applying this patch.
Comment #2
Dave Reid6.x-2.x branch created. Not sure why I messed that up originally...
Comment #3
amateescu CreditAttribution: amateescu commentedI investigated this a bit so you won't have to waste your time with it. The problem was introduced in #1200932: Menu Attributes overwrites menu link option set by other modules. I know, my bad. In my defense, the tests I wrote for 7.x-1.x will prevent us from doing this mistake again :)
Before that patch, $form['options'] was being overridden and it's #type was FAPI's default
markup
. After the patch, $form['options'] keeps it's previous type, which isvalue
.The problem with setting $form['options'] to item or markup is that it gives us a nasty 'Array' printed just above our fieldset, so I see no other option than moving the whole structure outside of $form['options'] and transfer our values over there in a validate handler.
I'll think about it some more and come up with a patch in a day or two.
Comment #4
amateescu CreditAttribution: amateescu commentedFinally, here's a patch with the approach from #3 :)
Comment #5
Dave ReidHrm, I don't like the idea of not using 'options'. I think there should be another way around this.
Comment #6
amateescu CreditAttribution: amateescu commentedThen #1 should do the job.
Comment #7
Dave ReidYeah #1 seems ok for now. Does this need to be applied to D7 as well?
Comment #8
amateescu CreditAttribution: amateescu commentedI can't reproduce the problem in D7 but I think it should be applied, just to be on the safe side.
Comment #10
amateescu CreditAttribution: amateescu commentedAfter trying various things using the patch from #1 as the starting point, the fix is even simpler, we just need to set the #type to 'form', and there's no naggy 'Array' printed anywhere. #facepalm for wasting a few hours on this during the Drupalcon London code sprint :(
Comment #11
amateescu CreditAttribution: amateescu commentedAfter inspecting the document source (not just FIrebug), this actually puts another
element in our existing form, so disregard the patch from #10.
The patch from #1 brings us back to the situation from #1200932: Menu Attributes overwrites menu link option set by other modules and I could find no other alternatives with D6's Form API. Dave, can you reconsider #5? :)
Comment #12
joelpittet@amateescu Thank you #1 worked like a charm. Seems a bit strange but did the trick.
Comment #13
joelpittet#1 was RTBC in #7 So committing that thanks @amateescu.