承接 jolimardi/laravel-sections 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jolimardi/laravel-sections

Composer 安装命令:

composer require jolimardi/laravel-sections

包简介

Custom sections implementation by Joli Mardi

README 文档

README

Ce package et fait pour fonctionner avec Filament et composer require jolimardi/filament-video-field

Le CSS pour les sections est disponible sur le repo Joli Mardi CSS

Installation

composer require jolimardi/laravel-sections
php artisan vendor:publish --provider="JoliMardi\MySections\MySectionsServiceProvider"

Tags

Il est également possible de publish le package en plusieurs fois en ajoutant différents tags, selon les besoins :

  • php artisan vendor:publish --provider="JoliMardi\MySections\MySectionsServiceProvider" --tag="models" - Publish aussi les models
  • php artisan vendor:publish --provider="JoliMardi\MySections\MySectionsServiceProvider" --tag="migrations"
  • php artisan vendor:publish --provider="JoliMardi\MySections\MySectionsServiceProvider" --tag="assets"
  • php artisan vendor:publish --provider="JoliMardi\MySections\MySectionsServiceProvider" --tag="views"
  • php artisan vendor:publish --provider="JoliMardi\MySections\MySectionsServiceProvider" --tag="enums" - Publie les enums dans app/Enums (namespace App\Enums). Ces fichiers surchargent automatiquement les enums par défaut du package : éditez-les librement (ajout de couleurs de boutons, d'icônes, etc.). Sans publication, les valeurs par défaut du package sont utilisées.
    • php artisan vendor:publish --provider="JoliMardi\MySections\MySectionsServiceProvider" --tag="icons"
  1. Lancez les migrations pour ajouter les tables nécessaires à la base de données :
php artisan migrate`

Configuration

  • Importez le fichier CSS du package dans app.css en ajoutant la ligne suivante (Recommandé avec Vite.js):
@import "../../vendor/jolimardi/laravel-mysections/dist/sections.css";

Utilisation

Utilisez la fonction mySection($data, $key) dans une views pour insérer une section. Pour passer des données spécifiques à la section ainsi que sa clé correspondante.

Composants

Il est possible d'utiliser le composant <x-section> dans une views afin de définir des règles CSS pré-établies pour les sections. Voici un exemple :

<x-layout>
    @mySection($sections, 'home.about')

    <x-section large gray>
        <h3>Ma section</h3>
        <p>Largeur max-width-large et background "gray"</p>
    </x-section>
    <x-section maxWidth="large" bg="gray">
        <h3>Ma section</h3>
        <p>Contenu de ma section</p>
    </x-section>
</x-layout>

Customiser les sections

Pour publier les vues dans votre projet et pourvoir les modifier (dans resources/views/vendor/laravel-sections) :

php artisan vendor:publish --provider="JoliMardi\MySections\MySectionsServiceProvider" --tag="views"

Création d'une nouvelle section intégrée à ce package

Voici les étapes à suivre pour créer une nouvelle section :

  1. Ouvrez Nova et rendez-vous sur le tableau de bord.
  2. Dans le menu, cliquez sur "Sections" pour ouvrir la liste des sections.
  3. Cliquez sur "Ajouter une nouvelle section".

Si vous avez ajouter une nouvelle section au packages, pensez à vous rentre sur "Sections templates" en amont pour lui donner un nom afin de pouvoir l'utiliser lors de la sélection du template

  1. Sélectionnez les paramètres de la section. Trois sections sont pré-définies, mais il est possible d'en ajouter d'autres.
  2. Pour ajouter une nouvelle section, allez dans "Section templates" sur Nova.
  3. Donnez un nom à votre section et sélectionnez une vue.

Remarque : Ces instructions supposent que vous êtes déjà familiarisé avec l'utilisation de Nova et de Laravel. Si ce n'est pas le cas, je vous recommande de consulter la documentation officielle pour plus d'informations.

Modifier ce package (pour les contributeurs)

  1. Installer les dépendances
composer install
npm install
  1. Modifier un fichier css à chaque sauvegarde dist/sections.css
npx mix watch

Ou mettre à jour une fois en utilisant :

npx mix

Remarque : Si vous modifier le contenu de /dist et que vous avez publish les assets. Il faut supprimer le fichier section.css dans public/vendor/mysections et relancer la commande pour publish le nouveau fichier (ou le --force marche ? A tester). (Voir Installation -> Tags)

Ajouter une nouvelle section au package

  1. Ajouter une nouvelle vue : Créez et ajoutez une nouvelle vue dans le dossier src/views.

  2. Ajouter un fichier CSS : Créez et ajoutez un fichier CSS correspondant dans le dossier src/css.

  3. Mettre à jour le fichier webpack.mix.js : Ajoutez le fichier CSS à la configuration du webpack.mix.js.

  4. Compilation des assets : Exécutez la commande npx mix pour recompiler les assets et actualiser le dossier dist.

  5. Mise à jour du submodule : Si vous utilisez ce package en tant que submodule dans un autre projet, assurez-vous de mettre à jour le submodule.

  6. Référence : Ensuite, reportez-vous à la section 'Création d'une nouvelle section' pour plus de détails sur la création d'une nouvelle section.

Note : Si on ajoute un fichier css, il faut l'ajouter au webpack.mix.js et relancé la commande npx mix watch.

Puis mettre à jour le dépôt et de mettre à jour votre projet avec les nouvelles modifications.

@TODO

  • Ajouter les variables css type max-width pour pouvoir utiliser le component <x-section><x-section /> sans avoir besoin de jolimardi-css
  • Build le webpack.mix.js pour automatiquement récupérer tous les fichiers css du dossier relatif. J'ai essayé de glob les fichiers mais j'ai toujours un comportement qui ne convient pas.

jolimardi/laravel-sections 适用场景与选型建议

jolimardi/laravel-sections 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 366 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 07 月 26 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 jolimardi/laravel-sections 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 jolimardi/laravel-sections 我们能提供哪些服务?
定制开发 / 二次开发

基于 jolimardi/laravel-sections 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 366
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 13
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2023-07-26