aberkow / a11y-menu-php
此包的最新版本(dev-master)没有提供许可证信息。
生成可访问导航菜单的包
dev-master
2019-04-23 18:34 UTC
Requires
- ucomm/a11y-menu: dev-master
- dev-master
- dev-dependabot/npm_and_yarn/qs-6.5.3
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/loader-utils-1.4.2
- dev-dependabot/npm_and_yarn/copy-props-2.0.5
- dev-dependabot/npm_and_yarn/ajv-6.12.6
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/npm_and_yarn/postcss-7.0.36
- dev-dependabot/npm_and_yarn/hosted-git-info-2.8.9
- dev-dependabot/npm_and_yarn/lodash-4.17.21
- dev-dependabot/npm_and_yarn/y18n-3.2.2
- dev-dependabot/npm_and_yarn/ini-1.3.7
- dev-dependabot/npm_and_yarn/node-sass-4.14.1
- dev-dependabot/npm_and_yarn/acorn-5.7.4
- dev-dependabot/npm_and_yarn/lodash.mergewith-4.6.2
- dev-dependabot/npm_and_yarn/fstream-1.0.12
- dev-dependabot/npm_and_yarn/tar-2.2.2
- dev-develop
This package is auto-updated.
Last update: 2024-09-09 03:13:16 UTC
README
此包是 npm a11y-menu 标记生成实用工具的 PHP 版本。
目标是提供与 a11y-menu JavaScript 包类似的开发者体验。这包括
- 从 JSON 生成菜单
- 提供对 a11y-menu 包中最小样式和脚本的访问
- 允许开发者以直观的方式生成菜单。该类公开一个单一静态方法。
安装
应使用 composer 安装此包 - composer require aberkow/a11y-menu-php。
要求
使用标记生成器需要具有以下格式的 JSON 文件。
{
"menu": [
{
"name": "Display Name",
"slug": "slugified-name",
"link": "/route",
"sub": false,
"classes": ["optional", "classes"]
}
]
}
如果需要子菜单,将 sub 属性标记为 true 并提供具有菜单项数组的 menu 属性。例如
{
"menu": [
{
"name": "Display Name",
"slug": "slugified-name",
"link": "/route",
"sub": true,
"classes": ["optional", "classes"],
"menu": [
{
"name": "Submenu Item 1",
"slug": "submenu-item-1",
"link": "/submenu-item-1",
"sub": false
},
{
"name": "Submenu Item 2",
"slug": "submenu-item-2",
"link": "/submenu-item-2",
"sub": false
}
]
}
]
}
使用
使用菜单生成器非常简单。它需要
- 基本样式表
- 基本导航脚本
- 使用生成器的
display_menu方法
步骤
- require
vendor/autoload.php - 创建一个如上所示的 JSON 文件并将其解码
$data = file_get_contents('path/to/file.json'); $menu = json_decode($data)->menu;
- 创建导航标记
- 将 nav 和 ul 的 id 前缀设置为
am-
- 将 nav 和 ul 的 id 前缀设置为
<nav id="am-my-nav"> <ul id="am-main-nav"></ul> </nav>
- 在
<ul>内部输出菜单生成器的结果 - 添加样式和
Navigation.js脚本
<head>
<link rel="stylesheet" href="vendor/ucomm/a11y-menu/dist/main.css">
</head>
<nav id="am-navigation">
<ul id="am-php-menu">
<?php echo A11y\Menu_Generator::display_menu($decoded->menu); ?>
</ul>
</nav>
// before the closing body tag...
<script src="vendor/ucomm/a11y-menu/dist/Navigation.js"></script>
更多...
有关样式和 JS 实现的更多详细信息,请参阅 a11y-menu github 仓库。此仓库包含有关
NavigationJavaScript 构造函数的信息- 结合替代菜单图标
- 扩展基本样式