Вариантов уйма...
- может быть вы пытаетесь обратиться к $L из тела какой-либо функции, не объявив переменную глобальной?
- может текущий код отрабатывает раньше подключения исходногго модуля?
- может честь данных перекрывается другим расширением?
Надо смотреть следующее:
- как подключается эти «переменные в header»
- какой модуль и по какому хуку работает на другой странице
Для начала — попробуйте проверить доступность переменных через фасад: cot::$L['something']
.
Обратите внимание, что с версии 0.9.15 все наиболее востребованные глобальные переменные ($cfg, $usr, $db, $id, $strucutre и пр.) доступны через специальный «фасад»-класс cot. Таким образом нет необходимости использовать явное указание переменных в списке global, а можно обратиться к ним напрямую через свойство объекта: cot::$cfg (например). Полный список переменных доступных через «фасад» следующий: $cache, $cfg, $cot_extrafields, $db, $db_x, $env, $L, $out, $R, $structure, $sys, $usr.