Я не очень хорошо знаком с Drupal, но я предполагаю, что блоки включены где-то в какую-то другую функцию / метод, так что вы эффективно работаете с вложенной функцией, которая входит в локальную область действия этой внешней функции.
При этом имеет смысл, что $a = "success"
нельзя адресовать из функции test()
.
Если я прав, это должно сработать, если вы добавите ключевое слово global
к обеим областям.