zofe / search-module
用于 Laravel rapyd-livewire 应用程序的搜索模块
Requires
- php: ^7.4|^8.0|^8.1|^8.2
- illuminate/config: ^8.65|^9.0|^10.0
- illuminate/contracts: ^8.65|^9.0|^10.0
- livewire/livewire: ^2.0
- zofe/layout-module: dev-main|^0.0|^0.1
- zofe/rapyd-livewire: dev-main|^0.8
- zofe/rapyd-module-installer: ^0.0|^0.1
README
这是一个 Laravel 应用程序(>= 8)的演示模块。
搜索模块旨在将项目中“全局搜索”的逻辑集中管理。
安装与配置
默认情况下,此“字段”搜索可以在配置文件中定义的模型列表中进行,对于每个模型,您需要指定
- 类
- 查询范围
- 路由(链接到结果详情)
- 查询限制
- 视图(结果项的视图,用于自定义项目外观)
'models' => [ [ 'class' => \App\Models\User::class, 'scope' => 'ssearch', 'route' => 'auth.users.view', 'limit' => 5, 'view' => 'search::item', ], ]
布局
注意,此模块将安装/使用布局模块,您可能需要进行以下操作
cd app/Modules/Layout/
npm i
npm run dev
这将编译 scss 并将 css 资产复制到您的公共项目文件夹
用法
此命令将在您的 /app/Modules/ 文件夹中创建一个名为 "Search" 的文件夹。
此组件:/app/Modules/Search/Components/SearchNavbar.php
包含项目中“全局搜索”的逻辑。搜索用户,以及其他已安装模块的主要模型。
自定义模块
为了自定义模块代码,我们建议在 GitHub 上分叉原始包仓库并进行更改。这样,您可以维护一个用于更改的独立分支,同时也能保持与包的最新版本同步。
要在 Laravel 应用程序中安装您的分叉版本,您可以在 Laravel 应用程序的 composer.json 文件中使用“vcs”包类型引用您的分叉仓库。
"repositories": [ { "type": "vcs", "url": "https://github.com/<your-github-username>/<package-name>" } ],
将 <your-github-username>
替换为您的 GitHub 用户名,将 <package-name>
替换为您的分叉包仓库的名称。
将分叉仓库添加到 composer.json 后,您可以通过与要求原始包相同的方式要求您的自定义包
composer require <your-github-username>/<package-name>:dev-<your-branch-name>
将 <your-github-username>
、<package-name>
和 <your-branch-name>
替换为您的分叉仓库和分支的适当值。
使用这种方法,您可以在保持代码与包的最新版本同步的同时轻松自定义模块代码。
我们鼓励开发者做出可能对更广泛社区有用的更改,并通过拉取请求向原始包仓库贡献。这可以帮助改进包,并确保您的更改与包的最新版本集成。