<script>
$("a[data-toggle='modal']").bind("click",function () {
var id = $(this).attr('data-id');
$.ajax({
url: "test",
cache: false,
data: { id: id },
type: "POST",
success: function(html) { $('.modal-content').html(html);}
});
});
</script>
<a href="#" data-id="{{$event->id}}" data-toggle="modal" data-target="#myModal">...</a>
<meta name="csrf-token" content="<?php echo csrf_token(); ?>">
<button type="button" id="loading-example-btn" data-loading-text="Loading..." class="btn btn-primary noradius" style="margin:0px auto">
Показать ещё
</button>
Добавляем блок в который будем загружать контент. Указываем в нём id="content"
<code lang="html">
<div id="content"></div>
</code>
<script>
$('#loading-example-btn').click(function () {
var btn = $(this)
btn.button('loading')
$.ajax({
url: "more", // url запроса
cache: false,
data: { ids: ids }, // если нужно передать какие-то данные
type: "POST", // устанавливаем типа запроса POST
beforeSend: function(request) { // нужно для защиты от CSRF
return request.setRequestHeader('X-CSRF-Token', $("meta[name='csrf-token']").attr('content'));
},
success: function(html) { $('#content').append(html);} //контент подгружается в div#content
}).always(function () {
btn.button('reset')
});
return false
});
</script>
// POST-запрос при нажатии на нашу кнопку.
Route::post('more', array('before'=>'csrf-ajax', 'as'=>'more', 'uses'=>'HomeController@getMoreEvents'));
// Фильтр, срабатывающий перед пост запросом.
Route::filter('csrf-ajax', function()
{
if (Session::token() != Request::header('x-csrf-token'))
{
throw new Illuminate\Session\TokenMismatchException;
}
});
...
public function getMoreEvents()
{
if (Request::ajax()) {
$ids=$_POST['ids']; // в моём случае пост запросом передается массив чисел вида [1,2,3,4...], здесь я этот массив принимаю.
return View::make('home.more')->with('more', Model::whereNotIn('id','!=', $ids))->get(); //делаем запрос в базу данных, получаем статьи в которых нет id из массива $ids
}
}
<head>
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
Route::filter('csrf-ajax', function()
{
if (Session::token() != Request::header('x-csrf-token'))
{
throw new Illuminate\Session\TokenMismatchException;
}
});
Route::post('test', array('before'=>'csrf-ajax', 'as'=>'test', 'uses'=>'FooController@foo'));
...
$.ajax({
url: "test",
data: ...,
type: "POST",
beforeSend: function(request) {
return request.setRequestHeader('X-CSRF-Token', $("meta[name='csrf-token']").attr('content'));
},
...
$('#content').attr('id','changed');
<?php if ($i >=1000) : ?> //проверяем, что количество просмотров больше или равно 1000.
<div>Скрытый блок</div> //тот самый скрытый блок, который откроется только при выполнении условия
<?php endif; ?>
<?php $events = get_posts(array(
'post_type' => 'event',
'meta_query' => array(
array(
'key' => 'event_place',
'value' => '"' . get_the_ID() . '"',
'compare' => 'LIKE'
)
)
));
?>
<?php if( $events ): ?>
<ul>
<?php foreach( $events as $event ): ?>
<li>
<a href="<?php echo get_permalink( $event->ID ); ?>">
<?php echo get_the_title( $event->ID ); ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>