uam / maintenance-bundle
0.2.0
2017-03-23 05:03 UTC
Requires
- symfony/http-kernel: ^2.3|^3.0
- uam/datatables-bundle: ^5.0
- uam/twig-i18n-extension: @stable
Requires (Dev)
- fzaninotto/faker: ^1.5
- phpunit/phpunit: ^4.6|^5.4
This package is auto-updated.
Last update: 2024-08-29 04:09:11 UTC
README
这是一个用于管理symfony应用程序维护期间的symfony组件。
需求
- Propel ORM
安装
将仓库添加到项目的 composer.json
"repositories": [ { "type": "composer", "url": "http://satis.united-asian.com/symfony" }, ... ]
将组件添加到项目的 composer.json
{
"require": {
"uam/maintenance-bundle": "dev-master",
"uam/twig-i18n-extension": "dev-master",
...
}
}
运行 composer update 安装组件
$ php bin/composer.phar update
假设composer.phar位于bin目录。
在应用的kernel中启用组件
在应用的kernel中启用UAMMaintenanceBundle、UAMDatatablesBundle和UAMTwigI18nBundle。
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new UAM\Bundle\DatatablesBundle\UAMDatatablesBundle(), new UAM\Bundle\MaintenanceBundle\UAMMaintenanceBundle(), new UAM\Twig\Extension\I18n\Bridge\Symfony\UAMTwigI18nBundle(), ); }
将组件添加到assetic配置
#config.yml
assetic:
- UAMDatatablesBundle
- UAMMaintenanceBundle
如果您的composer.json没有包含post-install或post-update installAssets脚本处理器,则运行以下命令
$ php app/console assets:install
或
$ php app/console assets:install --symlink
更新数据库模式
运行以下命令以更新数据库模式。
$ php app/console propel:model:build
然后运行以下命令以生成迁移文件。
$ php app/console propel:migration:generate-diff
生成迁移文件后,打开迁移文件,将查询复制到创建uam_maintenence和uam_maintenance_i18n表并运行查询。
或
运行命令以执行生成的sql。
$ php app/console propel:migration:migrate
用法
创建维护期间
向用户显示即将进行的维护期间的警告
通常,如果您计划在不久的将来进行维护操作,您希望向您的应用程序的用户发布警告,让他们知道应用程序将在那时不可用。
使用UAMMaintenanceBundle,请将以下代码包含在您的应用程序的适当模板中。如果您希望警告显示在应用程序的所有页面上,请将其包含在基本模板中。
{% render(controller("UAMMaintenanceBundle:Maintenance:warning")) %}
自定义“维护中”页面
导入路由文件
uam_maintenance:
resource: "@UAMMaintenanceBundle/Resources/config/routing/maintenance.yml"
覆盖布局
将layout.html.twig模板覆盖到您的应用程序中,以便显示的页面/消息将与您的应用程序的风格一致。
或者,您也可以覆盖“维护中”页面的progress.html.twig模板。
自定义管理页面
导入路由文件
uam_maintenance_admin:
resource: "@UAMMaintenanceBundle/Resources/config/routing/admin.yml"
覆盖布局
将layout.html.twig模板覆盖到您的应用程序中,以便显示的管理页面将与您的应用程序的风格一致。
要访问管理页面,用户必须具有角色ROLE_UAM_MAINTENANCE_ADMIN。
安全性
要访问管理页面
管理页面仅限于某些用户。要访问管理页面,用户必须具有角色ROLE_UAM_MAINTENANCE_ADMIN。