presta/sonata-bookmarks-bundle

Sonata Admin 允许用户保存和分享书签的 Symfony 扩展包

v1.0.0 2024-07-30 13:25 UTC

This package is auto-updated.

Last update: 2024-08-30 14:41:32 UTC


README

PrestaSonataBookmarksBundle 允许您的 Sonata 用户在管理界面中保存书签。

预览

在每个管理界面中,您可以为页面保存书签到专用数据库条目,并为其命名。 Save bookmark form

存在一个管理界面,您可以在其中删除应用程序中创建的书签。 Bookmarks admin list

安装

使用以下命令安装扩展包

composer require presta/sonata-bookmarks-bundle

启用扩展包

# config/bundles.php
return [
+    Presta\SonataBookmarksBundle\PrestaSonataBookmarksBundle::class => ['all' => true],
];

配置

将我们的 JavaScript 导入您的项目中

import '../../public/bundles/prestasonatabookmarks/scripts/app';

这一步高度依赖于您如何构建和导入公共资产,取决于您知道如何将其包含在您的项目中。

将我们的操作模板包含到您配置为管理布局的 Twig 模板中

{% extends '@SonataAdmin/standard_layout.html.twig' %}

{% block sonata_top_nav_menu %}
    <ul class="nav navbar-nav">
        <li>{{ include('@PrestaSonataBookmarks/admin/bookmark_action.html.twig') }}</li>
    </ul>
    {{ parent() }}
{% endblock %}

参见相关的 SonataAdmin 文档

配置 doctrine 以确定将哪个实体附加到书签 config/packages/doctrine.yaml

<?php

use Doctrine\ORM\Mapping as ORM;
use Presta\SonataBookmarksBundle\Entity\BookmarkOwnerInterface;
use Symfony\Component\Security\Core\User\UserInterface;

#[ORM\Entity]
class User implements UserInterface, BookmarkOwnerInterface
{
}
# config/packages/doctrine.yaml
doctrine:
  orm:
    resolve_target_entities:
      Presta\SonataBookmarksBundle\Entity\BookmarkOwnerInterface: 'App\Entity\User'

参见相关的 DoctrineBundle 文档

最后,更新您的模式以创建我们的实体所需的表

bin/console doctrine:schema:update 

或者如果您已安装 DoctrineMigrationsBundle,则创建迁移

bin/console doctrine:migrations:diff
bin/console doctrine:migrations:migrate

本项目由 PrestaConcept 支持

MIT 许可证 下发布