Вам по сути нужно дождаться окончания загрузки страницы (или пока пользователь не прокрутит страницу до вашего блока), отправить запрос на сервер и вставить полученные от него данные в блок.
Дело нескольких строк.
<div class='lazy-block' data-block-key="new-products"></div>
<script>
$('.lazy-block').each(function() {
this.load('/path/to/asyncHandler.php', {
key: this.dataset.blockKey
});
});
</script>
Сервер должен отдать по полученному ключу (get-параметр key) запрошенный блок.
if(!isset($_GET['key']))
exit('Bad Request');
$key = $_GET['key'];
if($key == 'new-products')
exit('<div>Lazy Block Content</div>');
exit('Not Found');