Если отправить в дочерний шаблон переменную adverts из контроллера то ошибки не будет. Но я не думаю что это будет хорошим решением. Как правильно здесь поступить?
Если я правильно Вас понял и мне не изменяет память - это довольно старая ошибка Laravel/Blade, которая заключается в том, что переменные "разворачиваются" раньше, чем переопределяются секции в шаблоне. Подозреваю, что её до сих пор не исправили.
Как поступить, варианты:
1. Сделать из
"main"а шаблон без переменных, наследуя от него другие шаблоны и передавать переменные в них
2. Сделать как Вам предложили выше, т.е. передавать переменную глобально
3. Передавать переменную везде, где её "не хватает", не смотря на то, что она по факту использовать не будет
Я расположил варианты в том порядке, в котором бы их использовал я :)