hoppermagic / kobalt
一套可重用的视图和代码,帮助构建小型Laravel后端
Requires
- kris/laravel-form-builder: ^1.51.2
- laracasts/flash: ^3.0
- dev-master
- v1.0.15
- v1.0.14
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.2
- v1.0.1
- v1.0.0
- v0.x-dev
- dev-dependabot/npm_and_yarn/minimist-1.2.8
- dev-dependabot/composer/symfony/http-kernel-4.4.50
- dev-dependabot/npm_and_yarn/json5-1.0.2
- dev-dependabot/npm_and_yarn/express-4.18.2
- dev-dependabot/npm_and_yarn/qs-and-express-6.11.0
- dev-dependabot/npm_and_yarn/loader-utils-1.4.2
- dev-old-version
- dev-newdevelop
- dev-develop
This package is auto-updated.
Last update: 2024-09-04 07:00:51 UTC
README
一套管理视图和功能,以加快在Laravel中构建小型自定义内容管理系统的开发速度...
使用步骤
如果它没有自动发现
Config/app.php
Hoppermagic\Kobalt\KobaltServiceProvider::class
包将自动添加以下内容,但您可能希望将这些添加到config.app中
Kris\LaravelFormBuilder\FormBuilderServiceProvider::class,
Laracasts\Flash\FlashServiceProvider::class,
'FormBuilder' => Kris\LaravelFormBuilder\Facades\FormBuilder::class,
'Flash' => Laracasts\Flash\Flash::class,
设置数据库首选项
运行标准的Laravel认证生成器
php artisan make:auth
php artisan migrate
注册自己,禁用web.php中的认证路由
将Router.php(auth方法)中的非注册路由添加到web.php中
记得取消注释Auth::routes()
从5.8版本开始,如果路由不存在,将不会显示注册
app.blade.php也包含对注册路由的引用,因此需要取消注释
// From 5.8?
Auth::routes(['register', false]);
OR
//!TODO MAKE SURE YOU USE THE ONES FROM ROUTER.PHP
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
管理区域web路由
可以将这些放入它们自己的admin.php文件中...
Route::group([
'namespace' => 'Admin',
'prefix' => 'admin',
'as' => 'admin.']
,function(){
// STORIES
Route::get('story/{story}/confirmdel', [
'as' => 'story.confirmdel',
'uses' => 'StoriesController@confirmDelete'
]);
Route::resource('/story', 'StoriesController', [
'except' => ['show'],
]);
// STORY IMAGES
Route::get('story/{story}/storyimage/{storyimage}/confirmdel', [
'as' => 'story.{story}.storyimage.{storyimage}.confirmdel',
'uses' => 'StoryImageController@confirmDelete'
]);
Route::get('/story/{story}/storyimage/createbulk', 'StoryImageController@createBulkUpload')->name('storyimage.createbulk');
Route::post('/story/{story}/storyimage/storebulk', 'StoryImageController@storeBulkUpload')->name('storyimage.storebulk');
Route::resource('/story/{story}/storyimage', 'StoryImageController', [
'except' => ['show','index'],
]);
// Stories ajax routes
Route::post('story/{story}/edit/imageload', 'StoriesController@imageGalleryLoad');
Route::post('story/{story}/edit/imagesort', 'StoriesController@imageGallerySort');
Route::post('story/sort', 'StoriesController@overviewSort');
}
);
确保以下内容指向管理主页
Controllers\Auth\LoginController
Controllers\Auth\RegisterController
Controllers\Auth\ResetPasswordController
Middleware\RedirectIfAuthenticated
protected $redirectTo = '/admin/overviewpage'; // Admin landing page
管理模板中的CSS和JS链接
app.blade.php
<link href="{{ asset('css/admin.css') }}" rel="stylesheet">
<script src="{{ asset('js/admin.js') }}"></script>
or
<script src="{{ asset('js/admin.js') }}" defer></script>
视图组合器
注意,KobaltServiceProvider确保在管理导航部分中可用的active变量,它推入segment(2),因此请确保这是您想要的。尚未决定这是否是一个好主意。
发布资源
admin js
admin enhancements - 容易设置tiny_mce、select2等的便捷位置
css
admin images
admin nav partial
admin template
需要更新此文件以使用来自app.blade.php的最新结构。拉入本地版本的tiny mce
使用强制覆盖
发布所有管理视图后,修改导航部分
php artisan vendor:publish --provider="Hoppermagic\Kobalt\KobaltServiceProvider" --tag=default --force
发布所有管理视图
php artisan vendor:publish --provider="Hoppermagic\Kobalt\KobaltServiceProvider" --tag=admin-views --force
仅发布CSS和JS
php artisan vendor:publish --provider="Hoppermagic\Kobalt\KobaltServiceProvider" --tag=css-js --force
如果您需要重新编译js/css
npm run production
创建模型、管理控制器、表单和请求
将创建RabbitController等
php artisan make:ko-resources Rabbit
php artisan make:ko-controller Rabbit
php artisan make:ko-form Rabbit
//!TODO config/app.php
//!TODO 关于可编辑、可删除、可添加的说明
表单
Form Builder静态类型现在已转义,因此如果您需要传递视图,则需要使用未转义的静态。
$this->addCustomField('unescaped-static', 'Hoppermagic\Kobalt\Forms\Fields\UnescapedStaticType');
桌面上的表单字段宽度将是60%,除非
'attr' => [
'class' => 'form-control full-width'
],
富文本字段
'attr' => [
'class' => 'rich-text'
],