Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Afficher des articles avec Blade en Laravel
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Afficher des articles avec Blade en Laravel

L'Équipe Alphorm Par L'Équipe Alphorm 9 janvier 2025
Partager
Partager

Vous avez du mal à afficher des articles de blog de manière dynamique avec Laravel.

Cela peut entraîner une mauvaise gestion des données et une expérience utilisateur inefficace.

Dans cet article, vous découvrirez comment utiliser Blade et Laravel pour afficher vos articles de manière structurée et efficace.

Table de matière
Préparer données avec Laravel BladeAfficher articles avec Blade dans Vue{{$article->title}}FAQConclusion

Formation Laravel : Le Guide Complet du Débutant

Initiez-vous à Laravel et réalisez votre première application en toute confiance.

Découvrir cette formation

Pour afficher des articles récupérés de la base de données à l’aide de Blade, il est nécessaire de préparer et de passer les données à la vue depuis le contrôleur, puis de les boucler dans la vue elle-même.

Diagramme affichage articles Blade Laravel

Préparer données avec Laravel Blade

Dans cette première étape, nous allons préparer et envoyer les données nécessaires à la vue. Le contrôleur joue un rôle essentiel dans la récupération des données depuis la base de données et leur passage à la vue.

Voici comment configurer votre contrôleur pour préparer et passer les données à la vue :

				
					
 public function index() {
// Récupérer les articles en les triant par ordre décroissant selon l'ID
$articles = Article::orderByDesc('id')->get();

// Préparer les données à envoyer à la vue
$data = [
'title' => 'Les articles du blog - ' . config('app.name'),
'description' => 'Retrouvez tous les articles de - ' . config('app.name'),
'articles' => $articles,
];

// Retourner la vue avec les données
return view('article.index', $data);
}

				
			

Explication détaillée :

  • Récupération des articles :

La méthode Article::orderByDesc(‘id’)->get(); récupère tous les articles de la base de données et les trie par ordre décroissant, en affichant d’abord les articles les plus récents.

  • Préparation des données :

Le tableau associatif $data contient :

  • title :le titre de la page avec le nom de l’application.
  • description :une description pour la page qui inclut le nom de l’application.
  • articles :une liste des articles récupérés de la base de données.
  • Retour de la vue :

La méthode return view(‘article.index’, $data); envoie ces données à la vue article.index.

Afficher articles avec Blade dans Vue

Une fois les données préparées dans le contrôleur, la prochaine étape consiste à afficher ces articles dans la vue avec Blade. La vue doit boucler sur les articles et les afficher de manière structurée et lisible.

Code de article/index.blade.php :

				
					
 @extends('layouts.main')
@section('content')
<div class="row">
<div class="col-lg-3">
@include('includes/sidebar')
</div>
<!-- /.col-lg-3 -->
<div class="col-lg-9">
@foreach($articles as $article)
<div class="card mt-4">
<div class="card-body">
<h2 id="articletitle" class="rb-heading-index-3 card-title"><a href="{{route(&#039;articles.show&#039;,[&#039;article&#039;=" data-wpel-link="internal" target="_self" rel="follow noopener noreferrer">$article->id])}}">{{$article->title}}</a></h2>
<p class="card-text">{{Str::words($article->content,5)}}</p>
<span class="auhtor">Par <a href="" data-wpel-link="internal" target="_self" rel="follow noopener noreferrer">Hamid</a></span> <br>
<span class="time">{{$article->created_at->diffForHumans()}}</span>
</div>
</div>
@endforeach
</div>
<!-- /.col-lg-9 -->
</div>
@stop

				
			

Explication détaillée :

  • Boucle @foreach :

La directive @foreach($articles as $article) permet de parcourir tous les articles récupérés dans le contrôleur. Chaque article est affiché à l’intérieur d’une carte <div class= »card »>.

  • Affichage du titre de l’article :

Le titre de l’article est affiché à l’intérieur de la balise <h2 class= »card-title »>. Il est également cliquable et redirige l’utilisateur vers la page de détails de l’article grâce à route(‘articles.show’, [‘article’ => $article->id]).

  • Extrait du contenu de l’article :

Le contenu de l’article est abrégé à l’aide de la fonction Str::words($article->content, 5), qui ne montre que les cinq premiers mots de l’article. Cela permet d’avoir un aperçu du contenu sans tout afficher sur la page d’index.

  • Affichage de l’auteur et de la date :

L’auteur est mentionné statiquement dans l’exemple ici (Par <a href= » »>Hamid</a>), mais cela peut être dynamique en récupérant l’auteur depuis la base de données.

La date de création est affichée sous la forme relative grâce à la méthode diffForHumans(), qui convertit la date en format « il y a X jours ».

Erreur Courante : Assurez-vous que la variable $articles est bien passée à la vue. Si elle n’est pas définie, une erreur Undefined variable sera levée.

Sur la page article/index.blade.php , l’affichage des articles sera structuré de la manière suivante :

Interface blog avec catégories Laravel

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment préparer les données dans un contrôleur Laravel ?
Dans Laravel, pour préparer les données dans un contrôleur, il faut d’abord récupérer les articles de la base de données en utilisant une méthode comme Article::orderByDesc(‘id’)->get(). Ensuite, créez un tableau associatif contenant les données nécessaires, telles que le titre, la description et les articles, puis retournez ces données à la vue en utilisant return view(‘article.index’, $data).
Comment afficher des articles dans une vue Blade ?
Pour afficher des articles dans une vue Blade, utilisez une boucle @foreach pour parcourir les articles récupérés. Chaque article est affiché dans une carte avec son titre cliquable et un extrait de son contenu. Le titre est enveloppé dans un lien qui redirige vers la page de détails de l’article. Assurez-vous que la variable $articles est bien passée à la vue pour éviter les erreurs.
Quelle est l'utilité de la fonction diffForHumans() en Laravel ?
La méthode diffForHumans() de Laravel est utilisée pour afficher les dates de manière relative, comme ‘il y a 3 jours’. Cela rend l’information temporelle plus accessible et intuitive pour l’utilisateur. Dans le contexte de l’affichage des articles, elle permet de montrer la date de publication de manière conviviale.
Comment structurer un contrôleur pour passer des données à une vue ?
Pour structurer un contrôleur en vue de passer des données à une vue, commencez par récupérer les données nécessaires de la base de données. Ensuite, stockez ces données dans un tableau associatif avec des clés pertinentes, telles que ‘title’ et ‘articles’. Enfin, retournez ces données à la vue avec la méthode return view(‘article.index’, $data).
Comment créer un extrait d'article dans Blade ?
Pour créer un extrait d’article dans Blade, utilisez la fonction Str::words($article->content, 5) pour limiter l’affichage à un certain nombre de mots, comme cinq, par exemple. Cela permet de montrer un aperçu du contenu sans afficher l’article complet, optimisant ainsi l’espace visuel et la lisibilité sur la page d’index.

Conclusion

En utilisant Blade et Laravel, vous pouvez afficher efficacement des articles depuis votre base de données. Comment allez-vous intégrer ces techniques pour améliorer votre prochain projet Laravel?

ÉTIQUETÉ : Laravel
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Afficher des articles avec Blade en Laravel

© Alphorm - Tous droits réservés