// ============================================================ // ✅ AJAX لتحميل المزيد من نتائج البحث // ============================================================ function alp_ajax_load_search_items() { if(Params::getParam('action') == 'load_search_items') { $page = (int)Params::getParam('iPage'); if($page < 1) $page = 1; $per_page = 30; $search = Search::newInstance(); $search->setPage($page); $search->setItemsPerPage($per_page); if(Params::getParam('sCategory')) { $search->addCategory(Params::getParam('sCategory')); } if(Params::getParam('sCountry')) { $search->addCountry(Params::getParam('sCountry')); } if(Params::getParam('sRegion')) { $search->addRegion(Params::getParam('sRegion')); } if(Params::getParam('sCity')) { $search->addCity(Params::getParam('sCity')); } if(Params::getParam('sPattern')) { $search->addPattern(Params::getParam('sPattern')); } if(Params::getParam('sPriceMin')) { $search->addPriceMin(Params::getParam('sPriceMin')); } if(Params::getParam('sPriceMax')) { $search->addPriceMax(Params::getParam('sPriceMax')); } $search->doSearch(); $items = $search->getItems(); $html = ''; if(!empty($items)) { View::newInstance()->_exportVariableToView('items', $items); $c = 1; while(osc_has_items()) { ob_start(); alp_draw_item($c); $html .= ob_get_clean(); $c++; } } header('Content-Type: application/json'); echo json_encode(array( 'success' => true, 'html' => $html, 'has_more' => (count($items) == $per_page) )); exit; } } osc_add_hook('init', 'alp_ajax_load_search_items');