Я пытаюсь создать форум, используя платформу Slim PHP. Тем не менее, я столкнулся с проблемой присвоения параметров для каждого раздела форума. Я хочу получить идентификатор для каждой категории, чтобы сгладить темы. Это означало бы, что URL-адрес будет выглядеть примерно так:
http://website.com/forum?catID=1
Исходя из этого, страница будет отображать темы для этой категории. Я использую urlFor()
, но я не могу понять, как это передать.
Вот мой текущий код маршрута:
$app->get('/forum', function() use($app) {
$categories = $app->categories->get();
$topics = $app->topics->get();
$app->render('forum/forumCat.php', ['categories' => $categories, 'topics' => $topics]);
})->name('forumCategories');
и для кода, который я использую для отображения категорий:
{% for category in categories %}
<br>
<p><a href="#">{{category.category_title}}<a><br>{{category.category_description}}</p>
<br>
<br>
{% endfor %}
благодаря
Определены ли переменные categories
и topics
? Если вы хотите получить значение catID
, вы можете получить доступ к нему следующим образом:
$catID = $app->request->get()['catID'];
Вы могли бы также рассмотреть возможность размещения catID в самом URL-адресе, например http://website.com/forum/category/1
.
Затем вы можете получить его так:
$app->get('/forum/category/:cat_id/?', function($cat_id) use($app) {
$topics = functionToLookUpTopicsByCategoryID($cat_id);
$app->render('forum/forumCat.php', [
'topics' => $topics
]);
})->name('forumCategories');
Если вы хотите поймать идентификатор категории из запроса POST
, вы можете сделать что-то вроде:
$app->post('/forum/category/?', function() use($app) {
$id = $app->request->post()['id'];
...
});