templates/magazines/detail.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}{{ magazine.nom }}{% endblock %}
  3. {% block body %}
  4. <div class="container mt-4">
  5. <nav aria-label="breadcrumb">
  6. <ol class="breadcrumb">
  7. <li class="breadcrumb-item"><a href="{{ path('magazines_list') }}">Magazines</a></li>
  8. <li class="breadcrumb-item active">{{ magazine.nom }}</li>
  9. </ol>
  10. </nav>
  11. {% for message in app.flashes('success') %}
  12. <div class="alert alert-success">{{ message }}</div>
  13. {% endfor %}
  14. <div class="row mb-4">
  15. <div class="col-md-3">
  16. {% if magazineImage %}
  17. <img src="data:image/jpeg;base64,{{ magazineImage }}"
  18. class="img-fluid rounded"
  19. alt="{{ magazine.nom }}">
  20. {% else %}
  21. <div class="bg-secondary d-flex align-items-center justify-content-center rounded"
  22. style="height: 250px;">
  23. <i class="fas fa-book fa-4x text-white"></i>
  24. </div>
  25. {% endif %}
  26. </div>
  27. <div class="col-md-9">
  28. <div class="d-flex justify-content-between align-items-start">
  29. <h1>{{ magazine.nom }}</h1>
  30. {% if is_granted('IS_AUTHENTICATED_FULLY') %}
  31. <a href="{{ path('magazine_edit', {id: magazine.id}) }}" class="btn btn-outline-secondary">
  32. <i class="fas fa-edit"></i> Modifier
  33. </a>
  34. {% endif %}
  35. </div>
  36. {% if magazine.editeur %}
  37. <p class="lead">Éditeur : {{ magazine.editeur }}</p>
  38. {% endif %}
  39. <div class="row">
  40. <div class="col-md-6">
  41. <ul class="list-unstyled">
  42. <li><strong>Nombre de numéros :</strong> {{ magazine.nbnum }}</li>
  43. <li>
  44. <strong>Statut :</strong>
  45. {% if magazine.statut %}
  46. <span class="badge badge-success">En cours de publication</span>
  47. {% else %}
  48. <span class="badge badge-secondary">Publication terminée</span>
  49. {% endif %}
  50. </li>
  51. {% if magazine.debpub %}
  52. <li><strong>Début de publication :</strong> {{ magazine.debpub|date('m/Y') }}</li>
  53. {% endif %}
  54. {% if magazine.findeb %}
  55. <li><strong>Fin de publication :</strong> {{ magazine.findeb|date('m/Y') }}</li>
  56. {% endif %}
  57. </ul>
  58. </div>
  59. </div>
  60. {% if magazine.commentaire %}
  61. <div class="mt-3">
  62. <h5>Commentaire</h5>
  63. <p>{{ magazine.commentaire|nl2br }}</p>
  64. </div>
  65. {% endif %}
  66. </div>
  67. </div>
  68. <hr>
  69. <div class="d-flex justify-content-between align-items-center mb-3">
  70. <h3>Numéros</h3>
  71. {% if is_granted('IS_AUTHENTICATED_FULLY') %}
  72. <div>
  73. <a href="{{ path('numero_new', {id: magazine.id}) }}" class="btn btn-success">
  74. <i class="fas fa-plus"></i> Ajouter un numéro
  75. </a>
  76. <a href="{{ path('numeros_new_multiple', {id: magazine.id}) }}" class="btn btn-primary">
  77. <i class="fas fa-plus-circle"></i> Ajouter plusieurs numéros
  78. </a>
  79. </div>
  80. {% endif %}
  81. </div>
  82. {% if numeros|length > 0 %}
  83. <div class="row">
  84. {% for numero in numeros %}
  85. <div class="col-md-3 col-lg-2 mb-4">
  86. <div class="card h-100">
  87. {% if images[numero.id] is defined %}
  88. <img src="data:image/jpeg;base64,{{ images[numero.id] }}"
  89. class="card-img-top"
  90. alt="N°{{ numero.num }}"
  91. style="height: 150px; object-fit: cover;">
  92. {% else %}
  93. <div class="card-img-top bg-light d-flex align-items-center justify-content-center"
  94. style="height: 150px;">
  95. <span class="h4 text-muted">N°{{ numero.num }}</span>
  96. </div>
  97. {% endif %}
  98. <div class="card-body p-2">
  99. <h6 class="card-title mb-1">N°{{ numero.num }}</h6>
  100. {% if numero.dateParution %}
  101. <small class="text-muted">{{ numero.dateParution|date('m/Y') }}</small>
  102. {% endif %}
  103. {% if numero.prix %}
  104. <br><small class="text-success">
  105. {{ numero.prix|number_format(2, ',', ' ') }}
  106. {% if numero.monnaie %}{{ numero.monnaie.symbole }}{% else %}€{% endif %}
  107. </small>
  108. {% endif %}
  109. </div>
  110. <div class="card-footer p-2">
  111. <a href="{{ path('numero_detail', {id: numero.id}) }}" class="btn btn-sm btn-outline-primary btn-block">
  112. Détails
  113. </a>
  114. </div>
  115. </div>
  116. </div>
  117. {% endfor %}
  118. </div>
  119. <div class="d-flex justify-content-center mt-4">
  120. {{ knp_pagination_render(pagination, '@KnpPaginator/Pagination/twitter_bootstrap_v4_pagination.html.twig') }}
  121. </div>
  122. {% else %}
  123. <div class="alert alert-info">
  124. Aucun numéro enregistré pour ce magazine.
  125. {% if is_granted('IS_AUTHENTICATED_FULLY') %}
  126. <a href="{{ path('numero_new', {id: magazine.id}) }}">Ajouter le premier numéro</a>
  127. {% endif %}
  128. </div>
  129. {% endif %}
  130. </div>
  131. {% endblock %}