kitpages / activity-bundle
管理活动
v3.0.1
2018-09-21 08:32 UTC
Requires
- php: >=7.1
- doctrine/doctrine-bundle: ~1.2
- doctrine/orm: ^2.5
- kitpages/data-grid-bundle: ~3.0
- symfony/event-dispatcher: ~3.4.0
- symfony/framework-bundle: ~3.4.0
Requires (Dev)
- beberlei/doctrineextensions: v0.2-alpha
- phpunit/dbunit: 1.3.*
- phpunit/phpunit: ~5.0
- symfony/browser-kit: ~3.4.0
- symfony/class-loader: ~3.4.0
- symfony/finder: ~3.4.0
- symfony/yaml: ~3.4.0.
README
记录网站活动并在某些页面上显示通知。
主要用于快速原型设计。
快速入门
创建活动
$this->get("kitpages_activity.activity_manager")->createActivity( "my_category", "my title", "my message content", "my url", //optionnal "my reference", //optionnal array("key1" => "val1", ), //optionnal );
在twig模板中显示活动列表
{{ render(controller('KitpagesActivityBundle:Activity:list', { 'request': app.request, // mandatory 'filterList': { "category": "my_category" }, // optionnal } ) ) }}
在PHP中获取活动
$activityManager = $this->get("kitpages_activity.activity_manager"); $activityList = $activityManager->getActivityList( array( "category" => "my category" ) );
功能
- 记录活动
- 使用引用将活动附加到对象
- 将活动附加到类别
- 使用分页器和全文过滤器轻松显示活动
- 按类别、标题、消息、引用过滤活动
- 可以排序活动
安装
使用 Composer,只需 $ composer require kitpages/activity-bundle
包或
{ "require": { "kitpages/activity-bundle": "~1.0" } }
然后在AppKernel中添加此捆绑包
public function registerBundles() { $bundles = array( // ... new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), new Kitpages\ActivityBundle\KitpagesActivityBundle(), new Kitpages\DataGridBundle\KitpagesDataGridBundle(), ); }
在twig模板中显示活动列表
{{ render(controller('KitpagesActivityBundle:Activity:list', { 'request': app.request, // mandatory 'filterList': { "category": "my_category" }, // optionnal 'orderBy': 'id ASC' // optionnal, default to "createdAt DESC" } ) ) }}
在PHP中获取活动列表
获取所有活动
$activityManager = $this->get("kitpages_activity.activity_manager"); $activityList = $activityManager->getActivityList();
获取指定类别的活动
$activityManager = $this->get("kitpages_activity.activity_manager"); $activityList = $activityManager->getActivityList( array( "category" => "my category" ) );
获取以"payments."开头的所有类别的活动
$activityManager = $this->get("kitpages_activity.activity_manager"); $activityList = $activityManager->getActivityList( array( "category" => "payment*" ) );
过滤原则
- 您可以过滤字段类别、标题、消息、URL或引用。
- 您可以在过滤的开始或结尾使用 "*" 作为通配符(以"xxx"开头的类别或以"xxx"结尾的所有内容)。
- 您可以使用 "*" 来转义通配符
排序结果
默认情况下,活动列表按createdAt DESC排序。您可以指定排序方式
$activityManager = $this->get("kitpages_activity.activity_manager"); $activityList = $activityManager->getActivityList( array("category" => "payment.*"), "id DESC", // sort field : id, reference, category, createdAt );
最佳实践
- 类别字段用于按类别过滤活动
- 引用字段用于表示与此活动相关联的对象(如果有对象)。我想象引用如"company.15.user.23"。然后我们可以使用通配符在过滤器中检索公司或此用户的活动。
- 数据字段用于添加与该活动相关联的所有信息
注意:类别在过滤器列表中不是必需的。
版本
2013-12-18 : v1.0.0
- 第一个版本
2014-11-07 : v2.0.0
- 升级到KitpagesDataGrid 2.x
- 在活动上添加过滤器
- 添加了引用和自定义数据
- 活动列表排序
- 更好的单元测试