netgen / toolbar
Netgen Toolbar Bundle 是一个 Ibexa 扩展包,它可以在您的网站上实现一个方便的导航栏,包含编辑者最常用的功能。
Requires
- php: ^8.1
- ibexa/core: ^4.0
Requires (Dev)
- php-cs-fixer/shim: ^3.50
This package is auto-updated.
Last update: 2024-09-09 11:46:00 UTC
README
要将 Netgen Toolbar 添加到您的 Symfony 项目中,使用 Composer 进行简单安装。运行以下命令
composer require netgen/toolbar
用法
配置
默认情况下,工具栏使用 Netgen 媒体站配置的 Ibexa 管理站点访问,该参数为 %ngsite.admin_siteaccess_name%
。如果您需要更多控制将要使用的管理站点访问,可以使用以下配置示例
netgen_toolbar: # Specifies the default admin siteaccess name, used when nothing else is configured default_admin_site_access: my_admin # Specifies the legacy siteaccess name, used when Toolbar detects the usage of Netgen Admin UI legacy_admin_site_access: legacy_admin # Specifies the map between siteaccesses/groups and admin siteaccess names to be used when current siteaccess # matches one of the keys in this list. In this list, siteaccesses have priority over groups. admin_site_access_mapping: fh_eng: fh_admin bold_eng: bold_admin bold_group: bold_admin
所有这些配置选项都是可选的。
集成到模板中
要在项目中使用 Netgen Toolbar,请在页面布局模板中包含它,直接在 <body>
标签之后。以下是一个基本示例
{% include "@NetgenToolbar/ngtoolbar.html.twig" %}
调整额外元素
如果您的布局包含需要通过工具栏高度进行调整的元素(如粘性头部),您可以指定额外的 CSS 选择器。默认情况下,仅调整 #page
。以下是包含粘性头部进行偏移计算的示例
{% include "@NetgenToolbar/ngtoolbar.html.twig" with { offset_selectors: [".site-header-sticky", "#page"] } %}
要指定不偏移任何元素,请传递一个空数组
{% include "@NetgenToolbar/ngtoolbar.html.twig" with { offset_selectors: [] } %}
使用 CSS 进行自定义调整
为了进行额外的自定义调整,提供了一个 CSS 变量 --ngtoolbar-height
,可以在项目 CSS 中按需使用。
如何标记应可编辑的元素?
每个应可编辑的组件或块项都需要包含 2 个数据参数(内容 ID 和位置 ID)以及一个唯一数据参数,指示它是组件还是块项。
<article data-item="true" data-content-id="43" data-location-id="23"> <!-- Your content here --> </article>
或
<article data-component="true" data-content-id="43" data-location-id="23"> <!-- Your content here --> </article>
数据参数辅助宏
该扩展包包括一个辅助宏,用于向组件和块项添加必要的数据参数。首先,将宏导入到模板中
{% import "@NetgenToolbar/macros.html.twig" as toolbar_macros %}
然后,如下使用它
块项视图类型
<article {{ toolbar_macros.item_params(content, location) }}> <!-- Your content here --> </article>
渲染的 HTML
<article data-item="true" data-content-id="43" data-location-id="23"> <!-- Your content here --> </article>
组件
<div {{ toolbar_macros.component_params(block) }}> <!-- Your content here --> </div>
渲染的 HTML
<article data-component="true" data-content-id="43" data-location-id="23"> <!-- Your content here --> </article>
可见性条件
工具栏仅对具有 ngtoolbar/use
Ibexa 策略的已认证用户显示,确保只有授权用户可以访问工具栏功能。
构建项目资产(开发目的)
Netgen Toolbar 随附其自己的资产集。要为开发或生产环境构建这些资产,请使用以下命令
开发环境
pnpm run dev
生产环境
pnpm run prod