Symfony Demo
  • Prima pagină
  • Search
  • Choose language
    • English
    • Français
    • Deutsch
    • Español
    • Čeština
    • Nederlands
    • Русский
    • Українська
    • Română
    • Português (brasil)
    • Polski
    • Italiano
    • 日本語
    • Indonesia
    • Català
    • Slovenščina
    • Hrvatski
    • 中文 (中国)

Aceasta este o aplicaţie demonstrativă construită pe Platforma Symfony pentru a ilustra modul recomandata de a dezvolta aplicaţii Symfony.

Pentru mai multe informaţii, citeşte documentaţia Symfony.

Fă click pe acest buton pentru afişarea codului sursă din controlerul şi şablonul folosite în acestă pagină.

Codul sursă folosit în această pagină

Codul din controlersrc/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);
}

Codul din şablonul 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

Licenţă MIT