Symfony Demo
  • Pagrindinis puslapis
  • Paieška
  • Pasirinkti kalbą
    • Български 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

Tai yra demo puslapis sukurtas su Symfony Framework parodydant tinkamą Symfony panaudojimą.

Norėdami gauti daugiau informacijos, peržiūrėkite Symfony dokumentciją.

Paspauskite mygtuką, kad peržiūrėti Controller ir šabloną panaudoti atvaizduojant šį puslapį.

Pirminis kodas

Controller kodassrc/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);
}

Twig šablono kodastemplates/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

MIT Licencija