Kotoff, я вот тут подумал... А если в лоб в макете?
если (Core_Array::getPost('ajax'))
{
Core_Page::instance()->execute();
} иначе {
шапка, код основного макета
Core_Page::instance()->execute();
продолжения кода, футер
}
Т.е. если ajax - главный макет пропускаем, а грузим дальше что есть.
Если не он, то грузим всё.