Опечатка в модуле Website
/** * Separate function to display the page * * @param void * @return void */ protected function displayPage() { $units = array(); foreach ($this->page->area as $area) { foreach ($area->unit as $unit) { $units[] = $unit; } } // Сортировка юнитов по параметру "buildOrder" Если таковой не задан, // то сортировка в произвольном порядке, т.к. сортировка не важна usort($units, function($a, $b) { $a = $a->buildOrder; $b = $b->buildOrder; if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; }); // Подготовка контента в юнитах foreach ($units as $unit) $unit->prepare(); echo Seo::nofollow(Seo::absolutize($this->page->toString())); }
В последнем цикле (строка 25 в данном примере) было написано
foreach ($units as $init
В результате чего обрабатывался только последний unit в области страницы, который был определен в предыдущем цикле. Ошибка воспроизводтся, если на странице содержится более одного блока.