Summary:
State dropdown broken on PHP 8: {xt_state_options} fatals with "Property 'get_xt' does not exist", and get_state_list_options() is never defined
Detailed Description:
CMSMSExt 1.5.3, CMSMS 2.2.x, PHP 8.x.
The state dropdown helper {xt_state_options} does not work on PHP 8.
When a template uses {xt_state_options}, the page fails with a 500 / CMSMS
error console instead of rendering. The country equivalent
({xt_country_options})
works fine on the same page, so it seems specific to the state helper.
I also noticed that even when the fatal is avoided, the state dropdown comes
up
empty (only the blank placeholder option), so it looks like the state list is
never actually loaded. The module does ship a states data file, and the
country
dropdown populates correctly, so the state side seems incomplete compared to
the
country side.
STEPS TO REPRODUCE
1. On PHP 8, use {xt_state_options} inside a <select> in any template, e.g.:
<select name="state">{xt_state_options selected=''}</select>
2. Load the page.
3. The page errors out (500 / error console). The country helper on the same
page works normally.