Опечатка в модуле 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 в области страницы, который был определен в предыдущем цикле. Ошибка воспроизводтся, если на странице содержится более одного блока.