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.
The code uses a 'has_item' properly to decide weather or not a checkout page should be included in the progress bar. It hard sets this to TRUE for everything except commerce_payment_redirect. Other modules do a similar redirect technique (eg commerce_extra's login page), as can custom checkout pages/panes.
This module should respect the has_item property set on a checkout page's definition. This would allow us to set/unset this using hook_commerce_checkout_page_info_alter() or something similar to dynamically include/exclude checkout pages from showing in the progress bar.
Comments
Comment #1
webmasterkai CreditAttribution: webmasterkai commentedI agree. A patch or code snippet would be greatly appreciated. Thanks!
Comment #2
mrfelton CreditAttribution: mrfelton commentedThis does the trick.
Comment #3
mrfelton CreditAttribution: mrfelton commentedActually, I needed a little more than this, as we need to be able to alter the state based on attributes of the order, which we can not do from hook_commerce_checkout_page_info_alter() as it's no possible to get the $order object from there. See #1509450: Unable to load current order from hook_commerce_checkout_page_info_alter.
So, I added a drupal_alter function to allow other module to be able to directly alter the include/exclude state of checkout pages.
Comment #4
mrfelton CreditAttribution: mrfelton commentedUpdated patch fixes whitespace issue.
Comment #5
Simon Georges CreditAttribution: Simon Georges commentedI just closed #1438836: Show all checkout panes in progress as a duplicate of this one.
Comment #6
brephraim CreditAttribution: brephraim commentedOK, so how do I implement this?
As in, what is the specific line I need to set so that $page[page_id] will not display in the checkout progress bar?
And also, so I am sure, do I call mymodule_commerce_checkout_progress_get_items_alter(&$pages) ?
Comment #7
brephraim CreditAttribution: brephraim commentedI changed
to
in order to get things working.
Comment #8
deggertsen CreditAttribution: deggertsen commentedHere's an updated patch against dev including the change in #7.
Comment #9
joelpittetBeen using this for a while. Thank you.
Comment #11
nvahalik CreditAttribution: nvahalik at Centarro commented