GET и POST методы с использованием Slim и Twig

1

Я пытаюсь создать форум, используя платформу 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 %}

благодаря

Теги:
url
twig
url-for

1 ответ

2

Определены ли переменные 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'];
    ...
});
  • 0
    Я определил их. Но как насчет публикации catID
  • 0
    Что значит пост? Вы хотите отправить его в шаблон?
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню