Symfony Demo
  • Головна сторінка
  • Пошук
  • Вибрати мову
    • English
    • Français
    • Deutsch
    • Español
    • Čeština
    • Nederlands
    • Русский
    • Українська
    • Română
    • Português (brasil)
    • Polski
    • Italiano
    • 日本語
    • Indonesia
    • Català
    • Slovenščina
    • Hrvatski
    • 中文 (中国)

Цей демо додаток створено на основі Symfony фреймворку для того, щоб показати рекомендований спосіб розробки Symfony додатків.

Для додаткової інформації зверніться до Symfony документації.

Натисніть на цю кнопку для перегляду вихідного коду контролеру та шаблону, які використовувалися для побудови цієї сторінки.

Вихідний код, який використовувався для побудови цієї сторінки

Код контролеруsrc/Controller/BlogController.php at line 151

/**
 * @Route("/search", name="blog_search")
 * @Method("GET")
 */
public function search(Request $request, PostRepository $posts): Response
{
    if (!$request->isXmlHttpRequest()) {
        return $this->render('blog/search.html.twig');
    }

    $query = $request->query->get('q', '');
    $limit = $request->query->get('l', 10);
    $foundPosts = $posts->findBySearchQuery($query, $limit);

    $results = [];
    foreach ($foundPosts as $post) {
        $results[] = [
            'title' => htmlspecialchars($post->getTitle()),
            'date' => $post->getPublishedAt()->format('M d, Y'),
            'author' => htmlspecialchars($post->getAuthor()->getFullName()),
            'summary' => htmlspecialchars($post->getSummary()),
            'url' => $this->generateUrl('blog_post', ['slug' => $post->getSlug()]),
        ];
    }

    return $this->json($results);
}

Код шаблону Twigtemplates/blog/search.html.twig at line 1

{% extends 'base.html.twig' %}

{% block javascripts %}
    {{ parent() }}
    <script src="{{ asset('build/js/search.js') }}"></script>
{% endblock %}

{% block body_id 'blog_search' %}

{% block main %}
    <form action="{{ path('blog_search') }}" method="get">
        <div class="form-group">
            <input name="q"
                   class="form-control search-field"
                   placeholder="{{ 'post.search_for'|trans }}"
                   autocomplete="off"
                   autofocus
                   data-no-results-message="{{ 'post.search_no_results'|trans }}"
            >
        </div>
    </form>

    <div id="results">
    </div>
{% endblock %}

{% block sidebar %}
    {{ parent() }}

    {{ show_source_code(_self) }}
{% endblock %}

© 2025 - The Symfony Project

MIT Ліцензія