一个 Laravel 包,使用 Bootstrap 3.0 和 Pratt Landing Page 将默认 Laravel 脚手架/样板切换到 AdminLTE 模板
请参阅此处的演示:
http://demo.adminlte.acacha.org/
如果您正在寻找 Laravel 4 版本,请使用 0.1.5 版本/标签并查看 OLD-README.md
composer require " acacha/admin-lte-template-laravel "
最后发布文件:
php artisan vendor:publish --tag=adminlte --force
该软件包使用(无需安装):
brew install gnu-sed --with-default-names
该包假设您的 Composer bin 文件夹路径中有:
/YOUR_PATH_TO_HOME/.composer/vendor/bin
例如添加这一行:
export PATH= ${PATH} : ~ /.composer/vendor/bin
到你的 ~/.bashrc 文件
注意:在某些系统中,路径可能不同,例如:
export PATH= ${PATH} : ~ /.config/composer/vendor/bin
请务必检查您的环境。
这个包安装了 Laravel 路由,你在 paths.php 文件中找不到它们。包安装的路由可以在文件中找到:
https://github.com/acacha/adminlte-laravel/blob/master/src/Http/routes.php
AdminLTETemplateServiceProvider 包含的文件:
https://github.com/acacha/adminlte-laravel/blob/master/src/Providers/AdminLTETemplateServiceProvider.php
您可以通过更改 config/app.php 文件中 ServiceProviders 的顺序来覆盖此路由,因此如果您输入:
App Providers RouteServiceProvider::class
后
Acacha AdminLTETemplateLaravel Providers AdminLTETemplateServiceProvider::class
paths.php 文件中的路由将覆盖默认的 adminlte-laravel 路由。
您也可以在routes.php 文件中手动安装路由。 Adminlte-laravel 使用与 Laravel make:auth 命令相同的路由,请参阅:
https://github.com/laravel/framework/blob/5.2/src/Illuminate/Auth/Console/stubs/make/routes.stub
所以你可以将此行添加到routes.php文件中:
Route:: auth ();
Route:: get ( ' /home ' , ' HomeController@index ' );
并在 config/app.php 文件中禁用 AdminLTETemplateServiceProvider (考虑到 Adminte-laravel Facades 和自定义命令将不可用)。
请参阅问题 #69 了解更多信息
安装包后,您必须按照任何 Laravel 项目的常规步骤登录管理界面:
AdminLTE 是一个免费的高级管理控制面板主题,基于由 Abdullah Almsaeed 创建的 Bootstrap 3.x。看:
https://github.com/almasaeed2010/AdminLTE
Adminlte-laravel 使用包 Creativeorange/gravatar (https://github.com/creativeorange/gravatar) 支持全球公认的头像 (http://gravatar.com)。
此命令使用默认 adminlte 布局将视图添加到resources/views文件夹:
php artisan make:view about
此命令将菜单条目添加到文件config/menu.php :
php artisan make:menu link menuname
例子:
php artisan make:menu /contact
此命令使用以下命令将路由添加到路由文件:
php artisan make:route linkname
例如,您可以使用以下方式添加带有 URI /about 的路由routes/web.php文件:
php artisan make:route about
此命令将此条目添加到routes/web.php
您可以使用选项type创建 3 种类型的路由:
示例:
php artisan make:route about --type=controller
这增加了以下内容:
Route:: get ( ' about ' , ' AboutController@index ' );
文件routes/web.php 。您可以通过以下方式选择控制器名称和方法:
php artisan make:route about MyController@method --type=controller
如果要创建资源控制器:
php artisan make:route about --type=resource
这增加了以下内容:
Route:: resource ( ' about ' , ' About@index ' );
文件routes/web.php 。
您还可以使用 option method使用其他 HTTP 方法创建路由:
php artisan make:route save --method=post
您还可以使用选项api添加路由到 api:
php artisan make:route save --api
然后路由将被添加到routes/api.php 。
最后使用选项-a在创建路由后添加操作:
php artisan make:route about -a
最后一个命令还创建一个名为about.blade.php的视图。使用:
php artisan make:route about -a --type=controller
将创建一个名为AboutController和方法索引的控制器文件。
您可以通过以下方式咨询所有选项:
php artisan make:route --help
该命令已在安装过程中执行,您可以使用以下命令手动(重新)执行:
php artisan adminlte:publish
将包中的所有必需文件发布到 Laravel 项目。
仅将包侧边栏发布到 Laravel 项目,允许自定义侧边栏:
php artisan adminlte:sidebar
注意:当您使用adminlte-laravel install命令时,侧边栏已经发布。
使用 spatie/laravel-menu 将侧边栏视图替换为侧边栏:
php artisan adminlte:menu
此命令还会安装 spatie/laravel-menu 包并创建一个位于config/menu.php 的默认菜单。
重要提示:Spatie Laravel 菜单需要 PHP7.0 或更高版本才能工作
执行 make:adminUserSeeder artisan 命令(参见下一节)并执行种子。此命令将默认管理员用户添加到数据库。
php artisan adminlte:admin
File /home/sergi/Code/AdminLTE/acacha/adminlte-laravel_test/database/seeds/AdminUserSeeder.php created
User Sergi Tur Badenas([email protected]) with the environemnt password (env var ADMIN_PWD) created succesfully !
此命令使用(如果存在)环境变量(.env 文件)ADMIN_USER、ADMIN_EMAIL 和 ADMIN_PWD。如果此环境变量不存在,则用户 git config (~/.gitconfig) 来获取数据,如果此信息不存在,则使用 Admin ([email protected]) 和密码 123456 作为默认值。
创建一个新种子以将管理员用户添加到数据库。使用:
php artisan make:adminUserSeeder
File /home/sergi/Code/AdminLTE/acacha/adminlte-laravel_test/database/seeds/AdminUserSeeder.php created
使用 acacha/laravel-social 包向 Laravel Adminlte 添加(可选)社交登录/注册支持是轻而易举的事。在项目根文件夹中执行:
adminlte-laravel social
按照向导配置您的社交提供商 Oauth 数据并享受吧!
更多信息请访问 https://github.com/acacha/laravel-social。
删除线
@ include ( ' auth.partials.social_login ' )
在文件resources/views/auth/login.blade.php
和register.blade.php
中
https://packagist.org/packages/acacha/admin-lte-template-laravel
http://acacha.org/mediawiki/AdminLTE#adminlte-laravel
使用 phpunit 运行 Composer 脚本测试:
$ composer test
一旦将此包安装到 Laravel 项目中,就会安装一些测试来测试包功能。有两种测试:功能/单元测试和浏览器测试。要执行功能/单元测试,请执行:
./vendor/bin/phpunit
在新创建的 laravel 项目中安装了 acacha-admintle.laravel 来测试该包是否正确安装。您还可以使用 Laravel Dusk 执行浏览器测试(请首先按照 https://laravel.com/docs/master/dusk 手动安装 Dusk 包):
php artisan dusk:install
touch database/testing.database.sqlite
php artisan serve --env=dusk.local &
php artisan dusk
您还可以在沙箱中测试此包,而无需安装。运行脚本:
./test.sh
所有字符串均使用 Laravel 本地化支持进行本地化:https://laravel.com/docs/master/localization
在 config/app.php 文件中,您可以更改区域设置以更改语言。您可以使用标签 adminlte_lang 仅安装本地化文件:
php artisan vendor:publish --tag=adminlte_lang --force
该软件包默认支持以下语言:英语、加泰罗尼亚语、西班牙语、荷兰语和巴西葡萄牙语。如果您愿意,请随时提交其他语言的新拉取请求。
注意:Laravel 5.5+ 中不需要
Acacha llum 需要 GNU sed 才能工作,因此使用 GNU sed 替换 BSD sed:
brew install gnu-sed --with-default-names
检查 sed 的版本:
man sed
sed GNU 版本路径是:
$ which sed
/usr/local/bin/sed
代替 BSD sed 的默认路径(MAC OS 上默认安装):
/usr/bin/sed
更多信息请参见#58
执行命令:
php artisan adminlte:username
然后您可以使用用户名而不是电子邮件进行登录。
注意:当我们使用用户名登录时,如果用户名登录失败,则系统会尝试使用引入的用户名作为电子邮件登录。因此用户也可以使用电子邮件登录。
要返回电子邮件登录,请从config/auth.php文件中删除字段选项:
' providers ' = > [
' users ' => [
' driver ' => ' eloquent ' ,
' model ' => App U ser::class,
' field ' => ' username ' // Adminlte laravel. Valid values: ' email ' or ' username '
],
注意:将用户名字段添加到用户表所需的迁移需要:
composer require doctrine/dbal
您可以选择为用户名登录定义默认域名。添加域选项:
' defaults ' => [
' guard ' => ' web ' ,
' passwords ' => ' users ' ,
' domain ' => ' defaultdomain.com ' ,
],
文件config/auth.php 。然后,如果用户尝试不使用域登录,则在日志记录时将附加默认域。
因此,在前面的示例中,您可以在登录时输入:
sergiturbadenas
system/javascript 会将其替换为:
Laravel adminlte 包默认将 Laravel 翻译发布为 Javascript/Vue.js,并在 HTML 标头中添加以下脚本:
< script >
//See https://laracasts.com/discuss/channels/vue/use-trans-in-vuejs
window.trans = @php
// copy all translations from /resources/lang/CURRENT_LOCALE/* to global JS variable
$lang_files = File::files(resource_path() . '/lang/' . App::getLocale());
$trans = [];
foreach ($lang_files as $f) {
$filename = pathinfo ( $f ) [ 'filename' ] ;
$trans [ $filename ] = trans ( $filename ) ;
}
$trans['adminlte_lang_message'] = trans('adminlte_lang::message');
echo json_encode($trans);
@endphp
</ script >
该脚本位于部分刀片文件中(vendor/acacha/admin-lte-template-laravel/resources/views/layouts/partials/htmlheader.blade.php)
因此全局变量 window.trans 包含所有可在任何 Javascript 文件中使用的 Laravel 翻译。
同样在文件resources/assets/js/bootstrap.js代码部分:
Vue.prototype.trans = (key) => {
return _.get(window.trans, key, key);
};
允许在 vue 模板中直接使用 trans 函数:
{{ trans('auth.failed') }}
您也可以使用 Vue 组件内部代码:
this.trans('auth.failed')
Laravel Adminlte 消息可使用前缀adminlte_lang_message :
{{ trans('adminlte_lang_message.username') }}
请随意删除/调整此文件以满足您的需要。
请参阅变更日志以了解最近更改的更多信息。
有关详细信息,请参阅贡献和行为。
如果您发现任何与安全相关的问题,请发送电子邮件至 [email protected],而不是使用问题跟踪器。
麻省理工学院许可证 (MIT)。请参阅许可证文件以获取更多信息。
https://github.com/acacha/adminlte-laravel-installer