pixeldev / sulu-townhallbundle
管理 Sulu 的市政厅
2.6.0
2024-06-20 05:13 UTC
Requires
- php: ^8.0
- sulu/automation-bundle: ^2.1
- sulu/sulu: ^2.5
Requires (Dev)
- dantleech/phpcr-migrations-bundle: ^1.3
- jackalope/jackalope-doctrine-dbal: ^1.3.2
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.9
- phpstan/phpstan-symfony: ^1.2
- rector/rector: ^0.18.13
- sulu/sulu-rector: ^0.1.6
- symplify/easy-coding-standard: ^11.1
README
演示
一个用于管理市政厅相关实体的 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
文件中找到它们。