蒋文图尼/portfolio

我的博客的项目。

此包的规范仓库似乎已消失,因此该包已被冻结。

安装: 115

依赖: 0

建议: 0

安全: 0

星级: 1

观察者: 1

分支: 0

开放问题: 0

类型:

v0.0.17 2018-11-10 23:54 UTC

README

此包为我的基于 laravel 的博客提供项目集。它需要 Backpack for Laravel,因此您需要安装它。

安装

此包可通过 packagist 获取。使用以下命令安装。

composer require tjventurini/portfolio

迁移

您需要运行项目集表的迁移。

php artisan migrate

配置

您需要发布包配置。

php artisan vendor:publish --provider="Tjventurini\Portfolio\PortfolioServiceProvider" --tag=config

视图(可选)

即使您没有发布,视图也通过 portfolio::view-name 提供。

php artisan vendor:publish --provider="Tjventurini\Portfolio\PortfolioServiceProvider" --tag=views

翻译(可选)

即使您没有发布,翻译也通过 portfolio::portfolio.key 提供。

php artisan vendor:publish --provider="Tjventurini\Portfolio\PortfolioServiceProvider" --tag=lang

播种(可选)

此包为标签表提供播种。

artisan db:seed --class="Tjventurini\Portfolio\Database\Seeds\PortfolioSeeder"

Backpack

现在您应该准备好更新 backpack 管理面板。打开 resources/views/vendor/backpack/base/inc/sidebar_content.blade.php 并添加以下行。

<li><a href="{{  backpack_url('portfolio') }}"><i class="fa fa-files-o"></i> <span>{{ trans('portfolio::portfolio.menu_item') }}</span></a></li>

Portfolio 使用 tjventurini/tags 包进行标签。要在 backpack 管理面板中使用它,您还需要在 sidebar_content.blade.php 中添加以下行。有关标签的更多信息,请访问 tjventurini/tags 存储库。

<li><a href="{{ backpack_url('tag') }}"><i class="fa fa-tag"></i> <span>{{ trans('tags::tags.menu_item') }}</span></a></li>

最后要做的就是发布 backpack crud 所需的按钮。

php artisan vendor:publish --provider="Tjventurini\Portfolio\PortfolioServiceProvider" --tag=backpack

Backpack Admin Panel

配置

路由

/*
 |--------------------------------------------------------------------------
 | Tjventurini\Portfolio Routes
 |--------------------------------------------------------------------------
 |
 | In this file you will find all routes needed for this package to work in
 | in the backpack backend as well as the frontend.
 |
 */

Route::group([
    'prefix'     => config('backpack.base.route_prefix', 'admin'),
    'middleware' => ['web', config('backpack.base.middleware_key', 'admin')],
    'namespace'  => 'Tjventurini\Portfolio\App\Http\Controllers\Admin',
], function () {

    CRUD::resource('portfolio', 'PortfolioCrudController');

});

Route::group([
    'prefix'     => 'portfolio',
    'middleware' => ['web'],
    'namespace'  => 'Tjventurini\Portfolio\App\Http\Controllers',
], function () {

    // show portfolios
    Route::get('/', 'PortfolioController@index')->name('portfolio');

    // show portfolio
    Route::get('/{slug}', 'PortfolioController@portfolio')->name('portfolio.portfolio');

});

路由前缀

/*
 |--------------------------------------------------------------------------
 | Route Prefix
 |--------------------------------------------------------------------------
 |
 | In this section you can define the route prefix of this package.
 |
 */

'route_prefix' => 'portfolio',

视图

/*
 |--------------------------------------------------------------------------
 | Views
 |--------------------------------------------------------------------------
 |
 | In this section you can define the views to show when the routes are 
 | called.
 |
 */

// view to show all portfolios
'view_portfolios' => 'portfolio::portfolios',

// view to show single portfolio
'view_portfolio' => 'portfolio::portfolio',

验证

/*
 |--------------------------------------------------------------------------
 | Validation
 |--------------------------------------------------------------------------
 |
 | In this section you can change the validation rules for the tags request.
 |
 */

'rules' => [
    'name' => 'required|min:5|max:255',
    'slug' => 'unique:portfolios,slug',
    'type' => 'required|in:fa-desktop,fa-image,fa-mobile',
    'image' => 'required|string',
    'tags' => 'required',
],

项目集类型

项目集类型在两个地方定义,配置和翻译。您可以以任何方式定义类型,或完全清除数组,但始终记得更新验证。

/*
 |--------------------------------------------------------------------------
 | Portfolio Types
 |--------------------------------------------------------------------------
 |
 | In this section you can define the portfolio pypes you have.
 |
 */

'types' => [
    // icon => label
    'fa-desktop' => 'Website',
    'fa-image' => 'Picture',
    'fa-mobile' => 'App',
],

日期格式

/*
 |--------------------------------------------------------------------------
 | Date Format
 |--------------------------------------------------------------------------
 |
 | In this section you can define the date format used for portfolios.
 |
 */

'date_format' => 'd.m.Y',