elboletaire/twbs-cake-plugin

此包已被 弃用,不再维护。未建议替代包。

Twitter Bootstrap 插件用于 CakePHP 3,包含 less.php 和 less.js 解析器、助手和 bake 模板

安装次数: 58 080

依赖: 0

建议者: 0

安全: 0

星标: 27

关注者: 10

分支: 12

开放问题: 1

语言:CSS

类型:cakephp-plugin

v3.4.1 2017-02-01 15:04 UTC

README

License Latest Stable Version Total Downloads

此插件包括 less.jsless.php 解析器,并允许您轻松部署带有 (Twitter) Bootstrap 的 CakePHP 应用程序。

从版本 3.0.2 开始,此插件已删除其自己的助手和组件,并将 friendsofcake/bootstrap-ui 添加为 composer 依赖项,因此您将使用所有这些类。

它还包含一些 bake 模板,可以帮助您开始创建 twitter-bootstraped CakePHP 网页应用程序。

通用功能

  • 使用 less.js 和/或 less.php 解析 less 文件。
  • LessHelper 以轻松解析文件。
  • Bake 模板。
  • 通用 Bootstrap 布局。
  • BootstrapUI 插件中包含的所有实用工具。

安装

添加插件

您可以使用以下 composer 安装此插件

composer require elboletaire/twbs-cake-plugin

完成后,composer 将询问您版本。请查阅 Packagist 上的包 了解每个可用的版本。

启用插件

添加插件后,请记住在您的 config/bootstrap.php 文件中加载它

Plugin::load('Bootstrap', ['bootstrap' => true]);

这将为您加载 Less 和 BootstrapUI 插件。

如果您希望手动执行此操作,可以逐个加载它们

Plugin::load('Bootstrap');
Plugin::load('Less');
Plugin::load('BootstrapUI');

配置

添加插件后,您可以添加所需的实用工具

// AppController.php
public $helpers = [
    'Less.Less', // required for parsing less files
    'BootstrapUI.Form',
    'BootstrapUI.Html',
    'BootstrapUI.Flash',
    'BootstrapUI.Paginator'
];

或者,如果您在 AppView 中加载它们

// AppView.php
public function initialize()
{
    $this->loadHelper('Less', ['className' => 'Less.Less']);
    $this->loadHelper('Html', ['className' => 'BootstrapUI.Html']);
    $this->loadHelper('Form', ['className' => 'BootstrapUI.Form']);
    $this->loadHelper('Flash', ['className' => 'BootstrapUI.Flash']);
    $this->loadHelper('Paginator', ['className' => 'BootstrapUI.Paginator']);
}

使用方法

使用 Twitter Bootstrap 和 less 时有两种常见的使用方式

  • 直接在视图中使用 Twitter Bootstrap 类。
  • 在视图中使用自定义类,然后将这些类扩展到 Twitter Bootstrap 组件。

对于第一种情况,您可以直接 加载此插件包含的布局,并使用也包括的 bake 模板 烘焙您的视图

对于第二种情况,您需要 创建自己的布局 并创建一个样式表,如包含的 webroot/less/cakephp/styles.less

此文件扩展了默认烘焙视图的样式,使它们具有 CakePHP-Bootstrapped 的外观和感觉。

主题

在两种情况下,您都可以使用此插件包含的布局作为 主题(目前只有 default 布局)

// AppController or AppView
public function beforeRender(\Cake\Event\Event $event)
{
    $this->viewBuilder()->theme('Bootstrap');
}

或者作为布局

// AppController or AppView
public $layout = 'Bootstrap.default';

您还可以直接从模板文件中指定它作为布局

// any .ctp Template file
$this->layout = 'Bootstrap.default';

如果您想使用 less 文件,应使用 Bootstrap 布局。如果您更愿意使用 css 文件,则可以使用 BootstrapUI 布局。

最后但同样重要的是,您还可以将此模板复制到您的 Template/Layout 文件夹,然后从您的视图扩展模板。

在 CakePHP 烹饪手册中了解更多有关视图的信息.

顺便说一句,建议您将所有必需的文件复制到您的 src 文件夹(特别是对于资产),即使您不会修改它们。

请注意,如果您在一个全新的 CakePHP 安装中加载此插件,并尝试在主页中查看布局更改,您将看不到任何内容。 home.ctp 会将布局覆盖为 false,以确保按照设计加载。

制作视图

您可以使用此插件附带的自带 twitter bootstrap 模板来制作您的视图。要这样做,只需在制作文件时指定 bootstrap 模板即可

cake bake.bake [subcommand] --theme Bootstrap

请记住,您还可以使用 BootstrapUI 的 bake 模板 来制作您的视图。查看其自述文件以获取更多详细信息。

创建您自己的布局

在您的 webroot/less 文件夹中创建一个 styles.less 文件(如果不存在,也创建该文件夹),包含以下行

@import '../bootstrap/less/bootstrap.less';

最后,从您的视图或布局中加载 less 文件

echo $this->Less->less('less/styles.less');

如果您想扩展 twitter bootstrap 样式,建议您将 bootstrap.less 文件复制到您的 less 文件夹,并根据您的需求进行自定义。对于 variables.less,创建一个 custom-variables.less 文件,并在 bootstrap.less 文件中在 variables.less 之后加载它。在该文件中定义的任何变量都将覆盖 variables.less 中定义的值,并且当更新 (Twitter) Bootstrap 时,您的代码不会中断。

如果您想看看示例,可以查看 webroot/less/cakephp 中包含的文件,这些文件专门用于扩展默认的 CakePHP 烘焙模板。

实用工具

此插件“包含”以下实用工具(它们都来自其他插件)

有关 Bootstrap 的 FlashComponent 的说明

旧的 Bootstrap FlashComponent 以前有一个 close 选项,允许您定义是否在闪存警告中包含关闭按钮。

使用 BootstrapUI FlashHelper,这有所不同。它会查找一个 alert-dismissible 类(默认情况下已设置)并且,如果已定义,将显示关闭按钮。

要禁用当前 Flash 警告的关闭按钮,您可以这样做

$this->Flash->{whatever}("Hello World", ['params' => ['class' => ['alert']]]);

// where {whatever} is any of the Bootstrap alert classes (danger, info, warning...)
$this->Flash->success("Hello World", ['params' => ['class' => ['alert']]]);

请注意,class 参数被定义为数组。

LessHelper

用于在模板或视图中解析和加载压缩的 CSS。

LessHelper 是 less cakephp 插件 的一部分。检查那里的所有详细信息。

依赖关系

包含的依赖项

关于版本控制

此项目在开发阶段开始使用与 CakePHP 3.X 相同的版本控制。因此,我将继续使用它,但保留最新的版本号用于我的版本。

这意味着任何版本号为 3.0.X 的此插件都应该与任何 CakePHP 3.0 版本兼容。

许可证

The MIT License (MIT)

Copyright 2013-2015 Òscar Casajuana (a.k.a. elboletaire)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.