2022 EduSoho開(kāi)發(fā)手冊(cè) 日常技巧之增加數(shù)據(jù)導(dǎo)出功能

2022 EduSoho開(kāi)發(fā)手冊(cè) 日常技巧之增加數(shù)據(jù)導(dǎo)出功能

注冊(cè)服務(wù)

services.yml

  keshifens_export_map:
    class: KeshifenPlugin\Component\Export\Factory
    arguments: ['@service_container']
    public: true

注冊(cè)Factory

Factory.php

<?php
/*
 * 作者:少宇 - 賽馳網(wǎng)絡(luò)
 * 聯(lián)系:170 33333 111
 * 時(shí)間:2022/3/10 上午2:56
 * 網(wǎng)址:https://www.saichinet.com
 *
 * 山東賽馳網(wǎng)絡(luò)科技有限公司
 * Shandong Search Network Technology Co., Ltd.
 * Copyright ? 2012-2020 Search Network, All Rights Reserved
 */

namespace KeshifenPlugin\Component\Export;

class Factory
{
    public function getMap()
    {
        return [
            'keshifens:count' => 'KeshifenPlugin\Component\Export\Keshifen\CountExporter',
        ];
    }
}

創(chuàng)建導(dǎo)出文件

CountExporter

<?php

namespace KeshifenPlugin\Component\Export\Keshifen;

use AppBundle\Common\ArrayToolkit;
use AppBundle\Component\Export\Exporter;
use Biz\User\Service\UserService;

class CountExporter extends Exporter
{
    protected $conditions;

    public function getTitles()
    {
        return array(
            '用戶(hù)Id',
            '用戶(hù)名',
            '手機(jī)號(hào)碼',
        );
    }

    public function canExport()
    {
        $user = $this->getUser();

        if ($user->hasPermission('admin_operation_invite_record') || $user->hasPermission('admin_v2_operation_invite_record')) {
            return true;
        }

        return false;
    }

    public function getCount()
    {
        return $this->getUserUidService()->countUserUids($this->conditions);
    }

    public function getContent($start, $limit)
    {
        return [];
    }

    public function buildCondition($conditions)
    {
        $conditions = ArrayToolkit::parts($conditions, array('keyword'));
        if (!empty($conditions['keyword'])) {
            $user = $this->getUserService()->getUserByLoginField($conditions['keyword']);

            $conditions['user_id'] = empty($user) ? '0' : $user['id'];
        }

        return $conditions;
    }

    protected function exportDataByUserUid($user_uid, $users)
    {
        $content   = [];
        return $content;
    }

    /**
     * @return UserService
     */
    protected function getUserService()
    {
        return $this->getBiz()->service('User:UserService');
    }

    /**
     * @return UserUidService
     */
    protected function getUserUidService()
    {
        return $this->getBiz()->service('UserUidPlugin:UserUid:UserUidService');
    }

    protected function getSettingService()
    {
        return $this->getBiz()->service('System:SettingService');
    }
}

前臺(tái)導(dǎo)出文件

index.html.twig

  <form id="user-search-form" class="form-inline well well-sm" action="" method="get" novalidate>
    <div class="form-group">
      <input type="text" name="nickname" class="form-control" value="{{ app.request.query.get('nickname') }}"
             placeholder="{{ 'admin.user.teacher.fields.nickname.input_placeholder'|trans }}">
    </div>
    
    <button class="btn btn-primary">{{ 'admin.user.form.btn.search_submit_btn'|trans }}</button>
  
    {% include 'export/export-btn.html.twig' with
      {
        'exportFileName' : 'keshifens:count',
        'targetFormId' : 'user-keshifen-form'
      } %}
  </form>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容