0

语言和模块文件路径

vtiger/语言/en_us/Expenses.php

vtiger/modules/Expenses/Expenses.php

两个文件都是一样的。

include_once 'modules/Vtiger/CRMEntity.php';
class Expenses extends Vtiger_CRMEntity {
    var $table_name = 'vtiger_expenses';
    var $table_index= 'expensesid';

    var $customFieldTable = Array('vtiger_expensescf', 'expensesid');

    var $tab_name = Array('vtiger_crmentity', 'vtiger_expenses', 'vtiger_expensescf');

    var $tab_name_index = Array(
            'vtiger_crmentity' => 'crmid',
            'vtiger_expenses' => 'expensesid',
            'vtiger_expensescf'=>'expensesid');

    var $list_fields = Array (
            /* Format: Field Label => Array(tablename, columnname) */
            // tablename should not have prefix 'vtiger_'
            'Summary' => Array('expenses', 'summary'),
            'Assigned To' => Array('crmentity','smownerid')
    );
    var $list_fields_name = Array (
            /* Format: Field Label => fieldname */
            'Summary' => 'summary',
            'Assigned To' => 'assigned_user_id',
    );

    // Make the field link to detail view
    var $list_link_field = 'summary';

    // For Popup listview and UI type support
    var $search_fields = Array(
            /* Format: Field Label => Array(tablename, columnname) */
            // tablename should not have prefix 'vtiger_'
            'Summary' => Array('expenses', 'summary'),
            'Assigned To' => Array('vtiger_crmentity','assigned_user_id'),
    );
    var $search_fields_name = Array (
            /* Format: Field Label => fieldname */
            'Summary' => 'summary',
            'Assigned To' => 'assigned_user_id',
    );

    // For Popup window record selection
    var $popup_fields = Array ('summary');

    // For Alphabetical search
    var $def_basicsearch_col = 'summary';

    // Column value to use on detail view record text display
    var $def_detailview_recname = 'summary';

    // Used when enabling/disabling the mandatory fields for the module.
    // Refers to vtiger_field.fieldname values.
    var $mandatory_fields = Array('summary','assigned_user_id');

    var $default_order_by = 'summary';
    var $default_sort_order='ASC';

}

根文件

vtiger/费用.php

include_once 'vtlib/Vtiger/Module.php';

$Vtiger_Utils_Log = true;

$MODULENAME = 'Expenses';

$moduleInstance = Vtiger_Module::getInstance($MODULENAME);
if ($moduleInstance || file_exists('modules/'.$MODULENAME)) {
    echo "Module already present - choose a different name.";
} else {
    $moduleInstance = new Vtiger_Module();
    $moduleInstance->name = $MODULENAME;
    $moduleInstance->parent= 'Tools';
    $moduleInstance->save();

    // Schema Setup
    $moduleInstance->initTables();

    // Field Setup
    $block = new Vtiger_Block();
    $block->label = 'LBL_'. strtoupper($moduleInstance->name) . '_INFORMATION';
    $moduleInstance->addBlock($block);

    $blockcf = new Vtiger_Block();
    $blockcf->label = 'LBL_CUSTOM_INFORMATION';
    $moduleInstance->addBlock($blockcf);

    $field1  = new Vtiger_Field();
    $field1->name = 'summary';
    $field1->label= 'Summary';
    $field1->uitype= 2;
    $field1->column = $field1->name;
    $field1->columntype = 'VARCHAR(255)';
    $field1->typeofdata = 'V~M';
    $block->addField($field1);

    $moduleInstance->setEntityIdentifier($field1);

    $field2  = new Vtiger_Field();
    $field2->name = 'expenseon';
    $field2->label= 'Expense On';
    $field2->uitype= 5;
    $field2->column = $field2->name;
    $field2->columntype = 'Date';
    $field2->typeofdata = 'D~O';
    $block->addField($field2);

    $field3  = new Vtiger_Field();
    $field3->name = 'expenseamount';
    $field3->label= 'Amount';
    $field3->uitype= 71;
    $field3->column = $field3->name;
    $field3->columntype = 'VARCHAR(255)';
    $field3->typeofdata = 'V~M';
    $block->addField($field3);

    $field3  = new Vtiger_Field();
    $field3->name = 'description';
    $field3->label= 'Description';
    $field3->uitype= 19;
    $field3->column = 'description';
    $field3->table = 'vtiger_crmentity';
    $blockcf->addField($field3);

    // Recommended common fields every Entity module should have (linked to core table)
    $mfield1 = new Vtiger_Field();
    $mfield1->name = 'assigned_user_id';
    $mfield1->label = 'Assigned To';
    $mfield1->table = 'vtiger_crmentity';
    $mfield1->column = 'smownerid';
    $mfield1->uitype = 53;
    $mfield1->typeofdata = 'V~M';
    $block->addField($mfield1);

    $mfield2 = new Vtiger_Field();
    $mfield2->name = 'CreatedTime';
    $mfield2->label= 'Created Time';
    $mfield2->table = 'vtiger_crmentity';
    $mfield2->column = 'createdtime';
    $mfield2->uitype = 70;
    $mfield2->typeofdata = 'T~O';
    $mfield2->displaytype= 2;
    $block->addField($mfield2);

    $mfield3 = new Vtiger_Field();
    $mfield3->name = 'ModifiedTime';
    $mfield3->label= 'Modified Time';
    $mfield3->table = 'vtiger_crmentity';
    $mfield3->column = 'modifiedtime';
    $mfield3->uitype = 70;
    $mfield3->typeofdata = 'T~O';
    $mfield3->displaytype= 2;
    $block->addField($mfield3);

    // Filter Setup
    $filter1 = new Vtiger_Filter();
    $filter1->name = 'All';
    $filter1->isdefault = true;
    $moduleInstance->addFilter($filter1);
    $filter1->addField($field1)->addField($field2, 1)->addField($field3, 2)->addField($mfield1, 3);

    // Sharing Access Setup
    $moduleInstance->setDefaultSharing();

    // Webservice Setup
    $moduleInstance->initWebservice();

    mkdir('modules/'.$MODULENAME);
    echo "OK\n";
}

// 语言和模块文件路径

vtiger/语言/en_us/Expenses.php

vtiger/modules/Expenses/Expenses.php

两个文件都是一样的。//

4

2 回答 2

0

您是否运行了您在 CRM 的根目录 (vtiger/Expenses.php) 中创建的文件。

您必须从浏览器运行此文件。 http://localhost/vtiger/Expenses.php

您创建的脚本文件没有问题。

于 2016-09-05T17:44:15.100 回答
0
创建模块的最佳方法如下:

对于 Windows:

- 只需打开命令行
- 进入 www/html/vtigercrm/vtlib/tools 目录并运行 php -f console.php 命令。
- 现在输入您的模块名称并刷新您的 crm 并单击全部将显示您的模块

对于 Linux:
- 只需打开终端
- 进入 cd var/www/html/vtigercrm/vtlib/tools 目录

- 运行 php -f console.php 命令。
- 它会像这样显示

user@user:~$ cd /var/www/html/vtigercrm/vtlib/tools
user@user:/var/www/html/vtigercrm/vtlib/tools$ php -f console.php
欢迎来到 Vtiger CRM Creator。
该工具将使您能够轻松地开始开发扩展。
玩的很开心。按 CTRL+C 以“退出”。
选择以下选项:
1. 创建新模块。
2. 创建新布局。
3. 创建新语言包。
4. 创建测试语言包。
5. 导入模块。
6.更新模块。
7. 移除模块。
输入您的选择:

- 输入 1
- 输入模块名称
- 现在刷新crm并点击所有菜单,你可以看到你的模块
于 2016-09-06T07:35:02.287 回答