а почему там должно что-то выводится? если создан объект с пустым полем value. и нигде не меняется, с чего бы там выводилось что-то кроме пустой строки?
и делать так через глобальные переменные
так себе история вроде
да. можете гуглить уроки по html и css, тратите порядка 50-60 часов на изучение азов, мните себя великим программистом и переходите к javascript - тратите тут около 100ч. раз битрикс значит нужен php - тут наверное поменьше после js уйдёт, скажем часов 50. ну и сам битрикс часов на 100-150. в теории после этого можно начать делать сайт. я не знаю функционала вашего магазина, но у меня это занимает 200-250 (вас я не возьмусь оценивать, но вероятно больше). (часы примерные, могут быть больше в разы) на каком этапе вы плюнете и перейдёте к версии с заказов у программиста - решать вам.
по поводу того, почему может не работать после того как вернул все обратно: браузер кеширует хосты, вполне возможно что браузер все ещё стучится на новый ип ( можно почистить в дев тулсе)
боюсь к строке по ключу можно обращаться (а выход за пределы строки - другая ошибка). а он обращается к строке по ключу который является строкой и не может быть преобразование к числу. пример в комент ах.
при условии что один из классов будет изначально