一个为 Yii 框架应用程序设计的微型 CRM

1.5.3 2017-01-11 05:45 UTC

This package is auto-updated.

Last update: 2024-09-17 21:18:43 UTC


README

设置说明

  1. 安装 mysql 表

     mysql <databasename> < /ruta/al/repo/vendor/freesoftwarefactory/crm/mysql.schema.sql
    
  2. 安装控制台命令

     cd /bla/my-app/commands
     ln -s ../freesoftwarefactory/crm/console/CrmController.php .
    
  3. 安装控制器

     cd /bla/my-app/controllers
     ln -s ../freesoftwarefactory/crm/web/CrmController.php .
    
  4. 设置文件

     // copy files
     cp /bla/my-app/vendor/freesoftwarefactory/crm/crm-config.php bla/my-app/config
     // reflect it in 'components' section  config/console.php, config/web.php
     'crm' => require(__DIR__.'/crm-config.php'),
    

配置 CRM 字段

在这里定义所有 CRM 字段。将此文件复制到您的 config/ 路径,并在其中

/your/app/config/crm-config.php

在 web.php 和 console.php 中的 components 部分中注册它

'crm' => require(__DIR__.'/crm-config.php'), 

示例设置文件

<?php
return [
"class"=>"freesoftwarefactory\crm\Api",
"layouts"=>array(
	"default"=>"@crmviews/base",			// <-- use this layout
	"create"=>"",	// or, per view: create,edit,view,find
	"edit"=>"",		// ...
),
"fields"=>array(
		"first_name"=>array(
			"label"=>"Nombre",	// come on...
			"size"=>45,		//
			"min"=>0,		//
			"type"=>"text",	//
			"placeholder"=>"Ingrese el nombre",	//
			"default"=>"",		// default value
			"required"=>true,	// mark as required
			"list"=>1,			// used to be showed in find results
			"browse"=>1,		// see also: crm_field
		),	
		"last_name"=>array(
			"label"=>"Apellido",
			"size"=>45,
			"min"=>0,
			"type"=>"text",
			"placeholder"=>"Ingrese el apellido",
			"list"=>1,
			"browse"=>1,		// see also: crm_field
		),	
		"primary_email"=>array(
			"label"=>"Correo Personal",
			"size"=>80,
			"min"=>0,
			"type"=>"mail",
			"placeholder"=>"Ingrese un correo",
			"list"=>1,
			"browse"=>1,		// see also: crm_field
		),	
		"primary_phone"=>array(
			"label"=>"Telefono Personal",
			"size"=>45,
			"min"=>0,
			"type"=>"text",
			"placeholder"=>"Ingrese un telefono",
		),	
		"notes"=>array(
			"label"=>"Notas Adicionales",
			"size"=>45,
			"min"=>0,
			"rows"=>5,
			"type"=>"textarea",
			"placeholder"=>"Notas adicionales",
		),	
	)
];

联系窗口小部件

这个窗口小部件旨在查找/编辑/创建联系人,它有两种模式:“查找器”或“浏览器”。

  • “查找器”模式可以帮助你选择一个联系人并将其选择到一个现有的文本输入中(例如,一个隐藏的输入)。

  • “浏览器”模式将使用“复选框”选择器显示联系人。

[html]

<?php
<style>
	.crm-form-group {
		display: inline-block;
	}
</style>
<div class='row'>
	<div class='col-md-12'>

		<input type='hidden' name='contact_id_receptor' />
		
		<div class='input-group' id='contacts_finder'>
			<input id='contact_selector' readonly 
				type='text' placeholder=''
					class='form-control' value='' />
			<span class='input-group-btn'>
				<button id='contacts_activator' 
					title='busque o cree un contacto haciendo click aqui'
					class='btn btn-primary'>
					<span class='glyphicon glyphicon-search'></span>
				</button>
				<button 
					title=''
					class='btn btn-success' id='submit_contact'>
					<span class='glyphicon glyphicon-plus'></span>OK</button>
			</span>
		</div>

		<?=\app\components\CrmFindContactWidget::widget([
			'mode'=>'browser',	// or 'finder'
			'readonly'=>false,
			'selector'=>'[name=contact_id_receptor]',
			'selector_label'=>'#contact_selector',
			'selector_activator'=>'#contacts_activator',
			'selector_finder'=>'#contacts_finder',
			'crm_field'=>'browse',  // show all columns with 'browse' attrib.
		]);?>
	</div>
</div>

使用事件处理器自定义联系窗口小部件

联系窗口小部件触发一些事件,以帮助你在自己的实现中做出决策,只需添加以下代码片段

$( document ).on( 'crm:find:list:updated', { some: 'data'}, 
	function( event, list, keywords, resp ) {

});

$( document ).on( 'crm:form:launch', { some: 'data'}, 
	function( event, widget, current_contact) {

	widget.find('.result-list').hide();
});

$( document ).on( 'crm:form:render:contact', { some: 'data'}, 
	function( event, widget, current_contact, response) {
	
});

API

通过以下方式使用 API 方法:

\Yii::$app->crm

控制台访问

使用控制台处理所有联系人和关系

./yii crm