rrd108/cakephp-menulink

CakePHP 的 MenuLink 插件

安装次数: 338

依赖项: 0

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 0

公开问题: 4

类型:cakephp-plugin

1.2.0 2019-09-28 17:22 UTC

This package is auto-updated.

Last update: 2024-08-29 04:14:41 UTC


README

这是一个实用且非常简单的插件,用于根据 URL 显示活动菜单项。如果您有一个指向当前 URL 的链接,它将获得一个 "active" CSS 类。您应该在您的 CSS 文件中添加自己的 a.active CSS 定义。

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require rrd108/cakephp-menulink

用法

加载插件

在您的 /config/bootstrap.php 文件中加载插件

Plugin::load('MenuLink');

加载和使用助手

您可以通过两种不同的方式加载助手:推荐方式或覆盖方式。

推荐方式

在您的 /src/View/AppView.php 文件中的 initialize() 方法中加载助手,如下所示。

$this->loadHelper('MenuLink.MenuLink');

在这种情况下,在您的视图文件中,您应使用助手如下所示。

$this->MenuLink->menuLink(
    'Link text',
    [
        'controller' => 'posts', 
        'action' => 'index'
    ],
    [$options]
);

menuLink 调用处理与核心 Html 助手的 link 方法 相同的参数。

覆盖 Html 助手

这是一种更舒适的方式来执行上述操作。由于这种方式覆盖了核心 Html 助手,它可能会与其他试图覆盖同一内容的助手冲突。

在您的 /src/View/AppView.php 文件中的 initialize() 方法中加载助手,如下所示。

$this->loadHelper('Html', ['className' => 'MenuLink.MenuLink']);

在这种情况下,在您的视图文件中,您应使用助手如下所示。

$this->Html->menuLink(
    'Link text',
    [
        'controller' => 'posts', 
        'action' => 'index'
    ],
    [$options]
);

menuLink 调用处理与核心 Html 助手的 link 方法 相同的参数。

在这两种方式中,您的活动链接看起来都像这样,但其他链接不会有这个 CSS 类定义。

<a href="/posts/index" class="active">Link text</a>