pixelmairie/sulu-townhallbundle

管理Sulu的市政厅

2.6.0 2024-06-20 05:13 UTC

This package is auto-updated.

Last update: 2024-09-20 05:48:40 UTC


README

GitHub release (with filter) Dependency Quality Gate Status

展示

一个用于管理市政厅相关实体的Sulu插件。

功能

  • 快讯管理
  • 报告管理
  • 公告管理
  • 流程管理
  • 法令管理
  • 公共市场管理
  • 决议管理
  • 实体列表(通过智能内容)
  • 预览
  • 翻译
  • 设置
  • SEO
  • 活动日志
  • 回收站
  • 自动化
  • 搜索

需求

  • PHP >= 8.0
  • Sulu >= 2.5
  • Symfony >= 5.4
  • Composer

安装

安装插件

执行以下 composer 命令以将插件添加到项目的依赖项中

composer require pixelmairie/sulu-townhallbundle

启用插件

通过将其添加到项目中config/bundles.php文件中注册的插件列表中来启用插件

return [
    /* ... */
    Pixel\TownHallBundle\TownHallBundle::class => ['all' => true],
];

更新模式

bin/console do:sch:up --force

插件配置

routes_admin.yaml中定义Admin Api路由

townhall.settings_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.settings_route_controller
  name_prefix: townhall.

townhall.reports_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.reports_route_controller
  name_prefix: townhall.

townhall.bulletins_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.bulletins_route_controller
  name_prefix: townhall.

townhall.procedures_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.procedures_route_controller
  name_prefix: townhall.

townhall.flash_infos_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.flash-infos_route_controller
  name_prefix: townhall.

townhall.decrees_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.decrees_route_controller
  name_prefix: townhall.

townhall.publics_markets_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.publics_markets_route_controller
  name_prefix: townhall.

townhall.deiberations_api:
  type: rest
  prefix: /admin/api
  resource: pixel_townhall.deliberations_route_controller
  name_prefix: townhall.

使用

此插件有许多不同的部分

  • 快讯:显示有关城市的快速信息(交通管制、天气、活动...)
  • 报告:市政会的报告
  • 公告:关于城市生活的市政厅公告等
  • 流程:市政厅提供的不同流程(身份证、护照、驾驶执照...)
  • 法令:市政或专员公署的法令
  • 公共市场:市政厅提供的不同公共市场(道路施工、住房建设)
  • 决议:市政厅的决议

以下章节将全面介绍如何与插件交互,因为对于每个实体都是相同的。如有必要,将进行更具体的介绍。

添加/编辑

转到管理界面中的“市政厅”部分。然后,点击您希望干预的子部分。要添加,只需点击“添加”。填写您使用的所需字段。

字段取决于您要编辑的子部分。

快讯

  • 标题(必填)
  • 封面(必填)
  • PDF文件
  • 描述(必填)

报告

  • 标题
  • 日期(必填)
  • PDF文件
  • 描述

公告

  • 标题(必填)
  • 日期(必填)
  • 封面
  • PDF文件
  • 描述

流程

  • 标题(必填)
  • URL(必填,将根据标题自动填写)
  • 封面
  • PDF文件
  • 外部链接
  • 类别(必填)
  • 描述(必填)

法令

  • 标题(必填)
  • 开始日期(必填)
  • 结束日期
  • PDF文件(必填)
  • 法令类型(必填)
  • 描述

公共市场

  • 标题(必填)
  • URL(必填,将根据标题自动填写)
  • 发布时间(手动填写)
  • 状态(必填)
  • 描述(必填)
  • 文档列表

决议

  • 标题(必填)
  • 日期(必填)
  • PDF文件(必填)
  • 描述

完成编辑后,点击“保存”。

您添加的实体在网站上尚未可见。为了使其可见,请点击“激活?”或“发布?”。现在它应该对访客可见。

要编辑,只需点击您希望编辑的实体左侧的铅笔。

其中一些实体具有预览功能

  • 流程
  • 公共市场

类别

如前文所述,某些实体需要一个类别、类型或状态。这些类别、类型和状态需要以非常特定的方式创建。

对于类别

  • 您必须创建一个根类别,其键名必须为“procedures”
  • 然后,在根类别下创建您需要的所有类别

对于类型

  • 您必须创建一个根类别,并且其键名必须为 "decrees"。
  • 然后,在根类别下创建您需要的所有类别

关于状态

  • 您必须创建一个根类别,并且其键名必须为 "publics_markets"。
  • 然后,在根类别下创建您需要的所有类别

删除/恢复

删除市政厅实体的方法有两种。

  • 检查您想删除的每个实体,然后点击 "删除"。
  • 前往实体的详情页面(参见 "添加/编辑" 部分)并点击 "删除"。

在两种情况下,实体都将被放入回收站。

要访问回收站,请前往 "设置" 并点击 "回收站"。要恢复实体,请点击左侧的时钟。确认恢复。您将被重定向到已恢复实体的详情页面。

要永久删除实体,请检查所有要删除的实体,然后点击 "删除"。

设置

此包包含设置。要访问包设置,请前往 "设置 > 市政厅管理"。

以下是不同设置的列表

  • 市政厅名称
  • 天气

天气设置是一个文本区域,您可以在其中放置HTML以使用天气服务iframe。

以下是使用设置的示例

<?php

namespace Pixel\TownHallBundle\Controller\Website;

use Doctrine\ORM\EntityManagerInterface;
use Pixel\TownHallBundle\Entity\Setting;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;

class MeteoController extends AbstractController
{
    /**
     * @Route("meteo", name="meteo", options={"expose"=true}, methods={"POST"})
     */
    public function meteo(EntityManagerInterface $entityManager): JsonResponse
    {
        $setting = $entityManager->getRepository(Setting::class)->find(1);

        return new JsonResponse([
            "success" => true,
            "template" => $setting->getMeteo(),
        ]);
    }
}

贡献

您可以为此包做出贡献。您必须做到的是尊重我们实施的编码标准。您可以在 ecs.php 文件中找到它们。