Symfony Demo
  • Homepage
  • Suchen
  • Sprache wählen
    • العربية ar
    • Български bg
    • Bosanski bs
    • 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
    • Српски (ћирилица) sr
    • Srpski (latinica) sr
    • Türkçe tr
    • Українська uk
    • 中文(中国) zh

Bassus fatalis classiss virtualiter transferre de flavum

6. November 2017 um 16:36:43 Tom Doe

Sed varius a risus eget aliquam. Silva de secundus galatae demitto quadra. Pellentesque vitae velit ex. Mauris dapibus risus quis suscipit vulputate. Pellentesque et sapien pulvinar consectetur. Eros diam egestas libero eu vulputate risus.

ipsum labore lorem

  • Vorherige
  • 1
  • 2 (current)
  • Nächste

Das ist eine Demo Applikation, die mit dem Symfony Framework gebaut wurde um eine Empfehlung für die Entwicklung auszusprechen.

Für mehr Informationen schaue in die offizielle Symfony Dokumentation.

Klicke auf diesen Button um den Source Code von Controller und Template zu sehen der für das Rendern dieser Seite benutzt wird.

Benutzter Source Code um diese Seite zu rendern.

Controller Codesrc/Controller/BlogController.php at line 49

/**
 * @Route("/", defaults={"page": "1", "_format"="html"}, methods="GET", name="blog_index")
 * @Route("/rss.xml", defaults={"page": "1", "_format"="xml"}, methods="GET", name="blog_rss")
 * @Route("/page/{page<[1-9]\d*>}", defaults={"_format"="html"}, methods="GET", name="blog_index_paginated")
 * @Cache(smaxage="10")
 *
 * NOTE: For standard formats, Symfony will also automatically choose the best
 * Content-Type header for the response.
 * See https://symfony.com/doc/current/routing.html#special-parameters
 */
public function index(Request $request, int $page, string $_format, PostRepository $posts, TagRepository $tags): Response
{
    $tag = null;
    if ($request->query->has('tag')) {
        $tag = $tags->findOneBy(['name' => $request->query->get('tag')]);
    }
    $latestPosts = $posts->findLatest($page, $tag);

    // Every template name also has two extensions that specify the format and
    // engine for that template.
    // See https://symfony.com/doc/current/templates.html#template-naming
    return $this->render('blog/index.'.$_format.'.twig', [
        'paginator' => $latestPosts,
        'tagName' => $tag ? $tag->getName() : null,
    ]);
}

Twig Template Codetemplates/blog/index.html.twig at line 1

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

{% block body_id 'blog_index' %}

{% block main %}
    {% for post in paginator.results %}
        <article class="post">
            <h2>
                <a href="{{ path('blog_post', {slug: post.slug}) }}">
                    {{ post.title }}
                </a>
            </h2>

            <p class="post-metadata">
                <span class="metadata"><i class="fa fa-calendar"></i> {{ post.publishedAt|format_datetime('long', 'medium', '', 'UTC') }}</span>
                <span class="metadata"><i class="fa fa-user"></i> {{ post.author.fullName }}</span>
            </p>

            <p>{{ post.summary }}</p>

            {{ include('blog/_post_tags.html.twig') }}
        </article>
    {% else %}
        <div class="well">{{ 'post.no_posts_found'|trans }}</div>
    {% endfor %}

    {% if paginator.hasToPaginate %}
        <div class="navigation text-center">
            <ul class="pagination">
                {% if paginator.hasPreviousPage %}
                    <li class="prev"><a href="{{ path('blog_index_paginated', {page: paginator.previousPage, tag: tagName}) }}" rel="previous"><i class="fa fw fa-long-arrow-left"></i> {{ 'paginator.previous'|trans }}</a></li>
                {% else %}
                    <li class="prev disabled"><span><i class="fa fw fa-arrow-left"></i> {{ 'paginator.previous'|trans }}</span></li>
                {% endif %}

                {% for i in 1..paginator.lastPage %}
                    {% if i == paginator.currentPage %}
                        <li class="active"><span>{{ i }} <span class="sr-only">{{ 'paginator.current'|trans }}</span></span></li>
                    {% else %}
                        <li><a href="{{ path('blog_index_paginated', {page: i, tag: tagName}) }}">{{ i }}</a></li>
                    {% endif %}
                {% endfor %}

                {% if paginator.hasNextPage %}
                    <li class="next"><a href="{{ path('blog_index_paginated', {page: paginator.nextPage, tag: tagName}) }}" rel="next">{{ 'paginator.next'|trans }} <i class="fa fw fa-arrow-right"></i></a></li>
                {% else %}
                    <li class="next disabled"><span>{{ 'paginator.next'|trans }} <i class="fa fw fa-arrow-right"></i></span></li>
                {% endif %}
            </ul>
        </div>
    {% endif %}
{% endblock %}

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

    {{ show_source_code(_self) }}
    {{ include('blog/_rss.html.twig') }}
{% endblock %}
Blog Posts RSS

© 2026 - The Symfony Project

MIT-Lizenz