定制 silverstripe/comment-notifications 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

silverstripe/comment-notifications

Composer 安装命令:

composer require silverstripe/comment-notifications

包简介

Provides email notifications for visitor comments

README 文档

README

CI

Provides simple email notifications for when new visitor comments are posted.

Installation

composer require silverstripe/comment-notifications

Configuration

To configure the default email address to receive notifications, place this in your mysite/_config.yml

SilverStripe\Control\Email\Email:
  admin_email: 'will@fullscreen.io'

Check out the CommentNotifiable class for the list of options you can override in your project.

Configuring Recipients

To define who receives the comment notification define a updateNotificationRecipients method and modify the list of email addresses.

mysite/code/CommentNotificationExtension.php

<?php

use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Comments\Model\Comment;
use SilverStripe\ORM\ArrayList;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Security\Group;

class CommentNotificationExtension extends DataExtension
{
    /**
     * @param array $existing
     * @param Comment $comment
     */
    public function updateNotificationRecipients(&$existing, $comment)
    {
        // send notification of the comment to all administrators in the CMS
        $admin = Group::get()->filter('Code', 'admin');

        foreach ($admin as $group) {
            foreach ($group->Members() as $member) {
                $existing[] = $member->Email;
            }
        }

        // or, notify the user who originally created the page
        $page = $comment->Parent();
        if ($page instanceof SiteTree) {
            /** @var ArrayList $pageVersion */
            $pageVersion = $page->allVersions('', '', 1); // get the original version
            if ($pageVersion && $pageVersion->count()) {
                $existing[] = $pageVersion->first()->Author()->Email;
            }
        }
    }
}

Apply the CommentNotificationExtension to any classes which have commenting enabled (e.g SiteTree)

mysite/_config/extensions.yml

SilverStripe\CMS\Model\SiteTree:
  extensions:
    - CommentNotificationExtension

统计信息

  • 总下载量: 139.38k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 7
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-03-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固