pixeldev/sulu-townhallbundle

管理 Sulu 的市政厅

2.6.0 2024-06-20 05:13 UTC

This package is not auto-updated.

Last update: 2024-09-18 05:22:30 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 中定义管理员 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文件中找到它们。