Symfony Demo
  • Strona główna
  • Search
  • Choose language
    • Български bg
    • Català ca
    • Čeština cs
    • Deutsch de
    • English en
    • Español es
    • Français fr
    • Hrvatski hr
    • Indonesia id
    • Italiano it
    • 日本語 ja
    • Lietuvių lt
    • Nederlands nl
    • Polski pl
    • Português (brasil) pt
    • Română ro
    • Русский ru
    • Slovenščina sl
    • Türkçe tr
    • Українська uk
    • 中文(中国) zh

To jest przykładowa aplikacja zbudowana przy pomocy frameworka Symfony, dla zademonstrowania polecanego sposobu tworzenia aplikacji przy jego użyciu.

Sprawdź dokumentację Symfony, aby uzyskać więcej informacji.

Kliknij poniższy przycisk, aby zobaczyć kod kontrolera oraz szablonu użytych podczas generowania tej podstrony.

Kod źródłowy użyty do wygenerowania tej podstrony

Kod kontrolerasrc/Controller/BlogController.php at line 145

/**
 * @Route("/search", methods="GET", name="blog_search")
 */
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(), ENT_COMPAT | ENT_HTML5),
            'date' => $post->getPublishedAt()->format('M d, Y'),
            'author' => htmlspecialchars($post->getAuthor()->getFullName(), ENT_COMPAT | ENT_HTML5),
            'summary' => htmlspecialchars($post->getSummary(), ENT_COMPAT | ENT_HTML5),
            'url' => $this->generateUrl('blog_post', ['slug' => $post->getSlug()]),
        ];
    }

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

Kod szablonu Twigtemplates/blog/search.html.twig at line 1

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

{% block javascripts %}
    {{ parent() }}
    {{ encore_entry_script_tags('search') }}
{% 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

Licencja MIT