davidyell/viewbits

此包已被废弃,不再维护。未建议替代包。
关于此包的最新版本(0.1.11)没有可用的许可证信息。

CakePHP 2.x 组件,用于将内容动态加载为页面中与路由匹配的块。

安装: 287

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

开放问题: 0

类型:cakephp-plugin

0.1.11 2016-03-17 16:13 UTC

This package is auto-updated.

Last update: 2024-01-13 01:23:39 UTC


README

为什么?

我需要一种方式,允许在视图中某些内容块进行内容管理,而不影响布局。

它做什么

它将钩子 beforeRender() 用于匹配路由,以便加载所需路由的视图块。这样你就可以在视图中包含它们。

兼容性

兼容于 CakePHP 2.x。 (在 2.2.3 上开发)

安装

  • 下载并解压到 app/Plugins/ViewBits
  • $ git clone https://github.com/davidyell/CakePHP-ViewBits.git app/Plugin/ViewBits
  • $ git submodule add https://github.com/davidyell/CakePHP-ViewBits.git app/Plugin/ViewBits

设置

首先,你需要创建数据库表以存储你的视图块。

app/Plugin/ViewBits/Config/Schema/view_bits.sql 导入 view_bits.sql 文件
或者
你可以使用 CakeDC/migrations 来运行迁移文件。
cake Migrations.migration run --plugin ViewBits

然后,你需要在 app/Config/bootstrap.php 中使用 CakePlugin::load('ViewBits') 启用插件。如果你已经使用 CakePlugin::loadAll(),则无需担心。

为了启用组件,它需要包含在控制器中的 $components 数组中。我建议将其添加到 AppController.php

class AppController extends Controller {
    public $components = array('ViewBits.ViewBits');
}

用法

组件将基于 URL 中的路由进行匹配。所以如果你添加一个路由为 / 的视图块,它将在你的根页或主页上加载。如果你添加一个路由为 /pages/display/about 的视图块,它将显示在关于页面上。
路由中使用 * 也支持通配符。如果你添加一个 * 路由的视图块,它将在所有页面上加载。你可以将它们组合起来,例如 /users/*,这将加载在所有 Users 控制器路由上。

为了显示你的视图块,你需要包含输出内容的插件辅助器。在你的控制器中,你必须将辅助器添加到你的辅助器数组中。

public $helpers = array('ViewBits.ViewBits');

示例

<?php echo $this->ViewBits->out($viewbits, 1);?>
// $viewbits is an array of items generated by the component
// 1 is the item you want to output

你必须做什么

你需要自定义管理界面,并将其与当前的管理系统集成。管理视图基于我的 NiceAdmin 插件。

待办事项

v0.1 里程碑

  • 创建一个辅助器以替换元素
  • 在新的辅助器中想出一种更好的方式来管理多个视图块
  • 排序,以便块按页面顺序加载
  • 增强路由匹配以接受正则表达式、通配符或类似功能
  • 验证路由是否存在
  • 自定义验证函数,用于查找路由并确保其存在
  • 为Composer进行设置并将其添加到Packagist

##许可证 Creative Commons License
本作品受Creative Commons Attribution-ShareAlike 3.0 Unported License许可。