Цитата (kaww @ 23.07.2013 - 07:23) |
По поводу exit; die; echo в теле функции - так делать НЕЛЬЗЯ. |
return array('success'=>true,'mess'=>'any message');
Цитата |
А если ajax запрос, и нужно расспечатать результат выполнения ? |
echo my_function();
Цитата |
Что предлагаете Вы ? |
Цитата (Valick @ 23.07.2013 - 12:56) | ||
я предлагаю учиться программировать, не более того |
Цитата (Valick @ 23.07.2013 - 13:05) |
SoMeOnE, AJAX запрос к серверу ничем не отличается от обычного, но логично иметь для AJAX запроса заточенный под него обработчик. И тут важно отделять мух от котлет, модель от контроллера. Модель общая для обычного и асинхронного запросов, а вот контроллеры у них разные. Функция в большинстве случаев - это модель. |
public function action_filter()
{
$_POST = Arr::map('trim', $_POST);
$content = View::factory('article_filter')
->bind('articles', $articles)
->bind('date', $date)
->bind('pagination', $pagination);
$time = time();
$date = date('d-m-Y', $time);
$page = Arr::get($_POST, 'page', '1');
$category = $_POST['category'];
if ($category == 0) $category = 'all';
$total_posts = Model::factory('safarticle')->get_count_article($category);
$pagination = Pagination::factory(array(
'current_page' => array('source' => 'manual', 'key' => $page),
'total_items' => $total_posts,
'items_per_page' => 10,
));
$articles = Model::factory('safarticle')->get_parent_articles($page, $category);
echo $content;
}
public function get_parent_articles($page, $category)
{
$start = 0;
$count = $page - 1;
if ($count > 0) {$start = ($count * 10);}
$default_lang = Model::factory('language')->default_lang();
$query = DB::select('articles.id', 'articles.num', 'articles.title', 'articles.url',
'articles.longitude', 'articles.latitude', array('UNIX_TIMESTAMP("articles.date")', 'date'), 'articles.status', 'articles.main_page',
'articles.order', array('pages.num', 'p_num'), array('pages.title', 'p_title'))
->from('articles')
->join('pages')
->on('pages.num', '=', 'articles.parent')
->where('articles.lang', '=', $default_lang)
->where('pages.lang', '=', $default_lang)
->limit(10)
->offset($start)
->order_by('articles.id', 'ASC')
;
}
$result = $query->execute()->as_array();
return $result;
}