蒋文图尼/ portfolio
我的博客的项目。
此包的规范仓库似乎已消失,因此该包已被冻结。
v0.0.17
2018-11-10 23:54 UTC
Requires
- backpack/crud: ^3.4.0
- laravel/framework: 5.5.*
- tjventurini/tags: ^0.0.9
Requires (Dev)
- tjventurini/mini-bootstrap-theme: ^0.0.3
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
配置
路由
/*
|--------------------------------------------------------------------------
| 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',