netgen/toolbar

Netgen Toolbar Bundle 是一个 Ibexa 扩展包,它可以在您的网站上实现一个方便的导航栏,包含编辑者最常用的功能。

安装: 199

依赖关系: 2

建议者: 0

安全性: 0

星级: 0

关注者: 8

分支: 0

公开问题: 0

类型:ibexa-bundle

1.1.0 2024-07-09 11:15 UTC

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