manuxi//sulu-event-bundle

欢迎来到Sulu事件!

安装: 90

依赖: 0

建议者: 0

安全: 0

星标: 5

关注者: 2

分支: 3

开放问题: 0

类型:symfony-bundle

1.6.1 2024-09-20 23:25 UTC

README

php workflow symfony workflow GitHub license

此包基于Sulu workshop制作。我制作它是为了在项目中管理事件。

此包包含

  • 事件内容类型的几个过滤器
  • 链接提供者
  • 网站地图提供者
  • 废纸箱项目处理程序
  • 自动化处理程序
  • 将联系人分配为作者的选项
  • 用于解析事件/获取事件列表的Twig扩展
  • 用于显示活动和更多事件的事件

新闻及其元信息可翻译。

包含一个示例twig模板。

事件及其元信息可翻译。

请放心提交功能请求。此包仍在开发中。使用风险自负 🤞🏻

👩🏭 安装

使用以下命令安装包

composer require manuxi/sulu-event-bundle

如果您使用Symfony Flex,您还需要在您的config/bundles.php文件中添加此包

return [
    //...
    Manuxi\SuluEventBundle\SuluEventBundle::class => ['all' => true],
];

请将以下内容添加到您的routes_admin.yaml

SuluEventBundle:
    resource: '@SuluEventBundle/Resources/config/routes_admin.yml'

最后但同样重要的是,需要更新数据库模式。

将创建一些表(以app_为前缀)
location, event, event_translation, event_seo, event_excerpt(以及一些多对多关系表)。

使用php bin/console doctrine:schema:update --dump-sql查看所需的查询。
通过执行php bin/console doctrine:schema:update --force更新模式。

确保您仅处理包的模式更新!

🎣 使用

首先:为事件授予权限。页面重新加载后,您应该能在导航中看到事件项。开始创建地点,然后创建事件。使用smart_content属性类型显示事件列表,例如。

<property name="events" type="smart_content">
    <meta>
        <title lang="en">Events</title>
        <title lang="de">Veranstaltungen</title>
    </meta>
    <params>
        <param name="provider" value="events"/>
        <param name="max_per_page" value="5"/>
        <param name="page_parameter" value="page"/>
    </params>
</property>

事件列表的对应twig模板示例

{% for event in events %}
    <div class="col">
        <h2>
            {{ event.title }}
        </h2>
        <p>
            {{ event.startDate|format_datetime('full', 'none', locale=app.request.getLocale()) }}
            {% if endDate and startDate != endDate %}
                 - {{ event.endDate|format_datetime('full', 'none', locale=app.request.getLocale()) }}
            {% endif %}
        </p>
        <p>
            {{ event.summary|raw }}
        </p>
        <p>
            {{ event.text|raw }}
        </p>
        <p>
            {{ event.footer|raw }}
        </p>
        <p>
            <a class="btn btn-primary" href="{{ event.routePath }}" role="button">
                {{ "Read more..."|trans }} <i class="fa fa-angle-double-right"></i>
            </a>
        </p>
    </div>
{% endfor %}

由于SEO和摘要选项卡在事件编辑器中可用,因此可以提供类似于渲染页面时的元信息。

🧶 配置

目前还没有配置。我在做这件事 :)

👩‍🍳 贡献

为了简单起见,这个扩展保持较小。请放心提交问题或拉取请求。一如既往,我很高兴得到您的反馈以改进扩展 :).