Skip to content

Surcharger une vue

Changer l'apparence d'une page — front ou back-office — sans éditer le cœur ni le thème : c'est la cascade de vues Laravel, et c'est sans configuration.

Le principe

Les vues de Slab sont publiées sous des namespaces (frontend:: pour le front, back.* pour le back-office). Laravel résout d'abord une vue de même chemin dans votre application : il suffit donc de la recréer sous resources/views/vendor/….

Surcharger une vue du front

Le frontend expose ses vues sous frontend::. Déposez la vôtre au même chemin sous resources/views/vendor/frontend/ :

resources/views/vendor/frontend/products/show.blade.php   ← remplace la fiche produit
resources/views/vendor/frontend/layouts/front.blade.php   ← remplace le layout

Surcharger une vue du back-office

Même principe pour les vues back.* du cœur — recréez le chemin dans votre app :

resources/views/vendor/…/back/products/edit.blade.php

Surcharger sans tout réécrire

Recréer une vue entière vous fait perdre ses futures évolutions. Préférez, quand c'est possible :

  • un hook de vue (ViewHookRegistry) pour ajouter un onglet ou une section sans toucher au reste — c'est non destructif et compatible avec les mises à jour ;
  • la surcharge ciblée d'un composant plutôt que de la page complète.

Et les view-models ?

Les composants front à classe (<x-front.cart>, <x-front.cart.totals>…) se remplacent par le conteneur :

php
$this->app->bind(
    \Slab\Frontend\View\Components\Front\Cart\Totals::class,
    App\View\Components\Front\Cart\MesTotaux::class,
);

Voir aussi