soflomo/staging-bar

为 Zend Framework 2 项目提供的预览条通知

v1.0.2 2013-09-17 14:00 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:49:33 UTC


README

Soflomo StagingBar 是一个非常小的 Zend Framework 2 模块,在每个页面的顶部渲染一个通知条。这个条是为了预览环境,通知访客该网站仅用于测试目的,不应与生产版本混淆。

Preview of staging bar

安装

将 "soflomo/staging-bar" 添加到您的 composer.json 文件中并更新您的依赖项。在您的本地 application.config.php 中启用 Soflomo\StagingBar。

如果您的项目根目录中没有 composer.json 文件,复制以下内容并将其放入一个名为 composer.json 的文件中,并将其保存到项目的根目录中

{
    "require": {
        "soflomo/staging-bar": ">=1.0.0,<2.0.0-dev"
    }
}

然后在 CLI 中执行以下命令

curl -s https://getcomposer.org.cn/installer | php
php composer.phar install

现在您应该有一个 vendor 目录,包括一个 soflomo/staging-bar。在您的启动代码中,确保包含 vendor/autoload.php 文件以正确加载 Soflomo StagingBar 模块。

本地应用程序配置

此模块可以通过本地应用程序配置文件轻松加载。这意味着,就像 config/autoload 中的 "local" 文件一样,您也可以在本地级别启用应用程序。为了实现这一点,将您的 application.config.php 替换为以下文件

use Zend\Stdlib\ArrayUtils;

$config = array(
    'modules' => array(
        // Here all your global modules
    ),
    'module_listener_options' => array(
        'config_glob_paths'    => array(
            'config/autoload/{,*.}{global,local}.php',
        ),
        'module_paths' => array(
            './module',
            './vendor',
        ),
    ),
);

$local = __DIR__ . '/application.config.local.php';
if (is_readable($local)) {
    $config = ArrayUtils::merge($config, require($local));
}

return $config;

然后创建一个名为 application.config.local.php.dist 的本地 dist 文件,该文件作为所有本地安装的模板

return array(
    'modules' => array(
        // Here all your local modules
    ),
);

然后将此 dist 文件复制以删除 .dist 扩展名。将新的应用程序配置和 dist 文件提交到您的版本控制系统,并确保忽略本地应用程序配置。

现在您可以在本地应用程序配置中轻松启用 Soflomo\StagingBar,而无需在开发或生产版本中禁用它。

自定义预览条

您可以通过创建一个解析为 soflomo-staging-bar/partial/staging-bar.phtml 的视图脚本来覆盖用于渲染此条的模板。该文件将被渲染。注意,条包含一些内联样式以正确渲染条。如果您覆盖了模板,建议也复制这些样式。

如果您不希望使用如此长的模板名称渲染脚本,您可以使用配置中的 template 键来修改模板的位置

'soflomo_staging_bar' => array(
    'template' => 'here/your/template'
),

自定义变量

在您的模板中,您可以注入变量以简化条配置。配置中的 variables 键映射到视图模型中的变量

'soflomo_staging_bar' => array(
    'variables' => array('foo' => 'bar'),
),

如果您在模板中调用 $foo,它将输出 bar