leandro-grg/list-maker

基于模板和数据库的列表生成器

v0.0.1 2018-09-04 15:49 UTC

This package is auto-updated.

Last update: 2024-09-19 10:25:24 UTC


README

安装

使用Composer安装包

composer require leandro-grg/list-maker

发布供应商资源

php artisan vendor:publish --provider='LeandroGRG\ListMaker\Providers\ListMakerServiceProvider'

将提供者添加到您的应用程序提供者中

return [
    //...
    'providers' => [
        //...
        LeandroGRG\ListMaker\Providers\ListMakerServiceProvider::class
    ]
    //...
];

运行包迁移

php artisan migrate

(可选) 别名

您可以通过将以下代码片段添加到您的config/app.php文件中来为类设置别名

return [
    //...
    'aliases' => [
        //...
        'ListMaker' => LeandroGRG\ListMaker\ListGen::class
        //...
    ]
    //...
];

用法

要使用列表生成器,您只需在您的视图中编写以下内容

{{ ListMaker::make('list-name') }}

此外,您还可以使用包的定制blade指令

@list('list-name')

如果您想在.blade.php文件中使用它,您可以使用纯PHP

<?php LeandroGRG\ListMaker\ListGen::make('list-name') ?>

创建列表

为了创建列表,只需执行命令php artisan list:create-list,然后按照交互式CLI工具中的步骤操作。这将在lists表中创建一个条目,以及所需的文件夹:app/Helpers/ListTemplates目录。

创建条目

运行命令php artisan list:create-list-item。该命令将提示您为主列表添加新条目。选择列表后,它将提示您输入创建条目所需的全部属性

  • 类型 string required:条目类型(itemdivider
  • 路由 string nullable:条目路由。
  • 图标 string nullable:条目图标
  • 显示 string required:条目显示文本
  • 顺序 integer required:条目顺序

模板

所有模板都位于app/Helpers/ListTemplates目录中。对于每个列表,在app/Helpers/ListTemplates/{StudlyCaseListName}中创建一个目录。

列表

app/Helpers/ListTemplates/{StudlyCaseListName}目录中,您将找到与列表相关的两个文件

  • 解析器 这是一个名为{StudlyCaseListName}Parser.php的生成类,只有一个方法,即parse方法。它接收$list (Illuminate\Database\Eloquent\Model)参数,用于在模板中替换字符串。parse方法返回一个数组,用于在strtr php函数中使用。

  • 模板 在文件夹中,您可以找到一个名为ListTemplate.html的文件。这是列表模板,您可以像您喜欢的那样修改它。

列表条目

基本上,它像列表解析器一样工作,但有一点区别

  • 解析器 在这种情况下,解析器将为每种类型的条目有一个方法,遵循模式parse{Type}Type。例如,这将是一个分隔符类型条目的方法
static function parseDividerType ($item)
{
    return [];
}
  • 模板 您可以在list文件夹中找到每种类型条目的模板,遵循以下名称模式{ItemType}Template.html

添加自定义条目类型

我们正在努力。目前,您可以使用itemdivider条目类型。