Имеется такой код: https://pastebin.com/7m8PfCJi
Controller:
public function catalogAction()
{
$count = 10;
if (strcasecmp($_POST['action'], 'loadContent') == 0) {
$count = $_POST['id'];
}
$pagination = new Pagination($this->route, $this->model->productsCount());
$vars = array(
'pagination' => $pagination->get(),
'count' => $count,
'list' => $this->model->productsList($this->route,(int)$count),
);
if (strcasecmp($_POST['action'], 'loadContent') != 0) {
$this->view->render('Каталог', $vars);
}
}
View:
<script>
$(document).on('click','.read-more',function(e){
e.preventDefault();
var id = $(this).data('id') || 0;
// Вставляем полученный контент в HTML блок с id="content"
$("#content").load("/catalog/",{action:"loadContent", id:id});
});
</script>
<div class="catalog-page-title">
<h1 class="page-title"><a href="/">Главная</a> > Каталог</h1>
</div>
<?php if (empty($list)): ?>
<div class="empty-container">
<p>Каталоги ненайдены</p>
</div>
<?php else: ?>
<div class="catalog-container">
<?php foreach ($list as $val): ?>
<div class="catalog-block">
<div class="catalog-img-block">
<a class="" href="/catalog/<?php echo $val['id']; ?>">
<img src="public/images/1.jpg" alt="Изображение">
</a>
</div>
<div class="catalog-info-title">
<a href="/catalog/<?php echo $val['id']; ?>"><?php echo htmlspecialchars($val['title'], ENT_QUOTES); ?></a>
</div>
</div>
<?php endforeach; ?>
</div>
<div id="getContent">
<a class="read-more" data-id="<?php echo $vars['count']+10; ?>" href="#">Подробнее</a>
<div id="content"></div>
</div>
<?php endif; ?>
Проблема заключается в том, что при выполнении функции load("/catalog"... подгружается контроллер с функцией catalogAction и я никак не могу придумать как из нее подгрузить данные
В случае с extract
нельзя обращаться к $vars
, так как ключи этого массива будут самостоятельными переменными. Надо обращаться к $count
, $list
и тд.
Хотя у меня есть ощущение, что никак не получишь их. Есть вариант возвращать через ob_start (кеширование) html и переменные по JSON. Ну это костыль
Почему? Потому что твое обращение к контроллеру вернется как html
, а переменных уже не будет (вероятно), так что надо json отправлять еще с переменными, если хочешь.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
как на php разветвить процесс так чтобы родительский процесс не дожидался завершения дочернихТестирую на винде, запускаю рабочий на убунту
Есть два EditText etDay и etMonthЕсть два слушателя для каждого свой:
GoogleDrive для ПК умеет синхронизировать определённую папку, можно ли это настроить как-то на Андроиде? Если да, то было бы отлично сделать это...