将新模块导入Vtiger 6.0.0Beta时出错

时间:2013-11-15 06:03:13

标签: php crm vtiger

我创建了一个模块,只是为了使用以下教程打印消息:

http://www.zbeanztech.com/blog/create-simple-module-vtiger-crm

我将语言文件的内容更改为数组格式。它能够导入模块并在Vtiger 5.4.0中正常工作。但是当我尝试在Vtiger 6.0.0Beta中安装它时,它会引发错误:

“为模块导入提供的文件无效!请再试一次。”

是否有人解决了同样的问题?

1 个答案:

答案 0 :(得分:1)

我不会使用您正在使用的代码。因此,使用此代码创建一个新模块。希望这对你有帮助。

<?php
$Vtiger_Utils_Log = true;

include_once 'vtlib/Vtiger/Module.php';
$myExtensionModule = Vtiger_Module::getInstance('MyExtension');
if ($myExtensionModule) {
Vtiger_Utils::Log("Module already exits.");
} else {
$myExtensionModule = new Vtiger_Module();
$myExtensionModule->name = 'MyExtension';
$myExtensionModule->label= 'My Extension';
$myExtensionModule->parent='Tools';
$myExtensionModule->save();
}
?>

在地方创建一个文件vtigercrm / modules / MyExtension / MyExtension.php

使用下面的代码

<?php
/** License Text Here **/
class MyExtension {
/**
 * Invoked when special actions are performed on the module.
 * @param String Module name
 * @param String Event Type (module.postinstall, module.disabled, module.enabled, module.preuninstall)
 */
function vtlib_handler($modulename, $event_type) {
    if($event_type == 'module.postinstall') {
        // TODO Handle post installation actions
    } else if($event_type == 'module.disabled') {
        // TODO Handle actions when this module is disabled.
    } else if($event_type == 'module.enabled') {
        // TODO Handle actions when this module is enabled.
    } else if($event_type == 'module.preuninstall') {
        // TODO Handle actions when this module is about to be deleted.
    } else if($event_type == 'module.preupdate') {
        // TODO Handle actions before this module is updated.
    } else if($event_type == 'module.postupdate') {
        // TODO Handle actions after this module is updated.
    }
}
}
?>

在此处添加代码vtigercrm / modules / MyExtension / language / en_us.lang.php

<?php
/** License Text Here **/
$mod_strings = array(
'My Extension'=> 'My Extension'
);

vtigercrm / vtiger6 /模块/ MyExtension /视图/ list.php的

<?php
/** License Text Here **/
class MyExtension_List_View extends Vtiger_Index_View {

public function process(Vtiger_Request $request) {
    $viewer = $this->getViewer($request);
    $viewer->view('Index.tpl', $request->getModule());
}
}
?>

vtigercrm / vtiger6 / layouts / default / modules / MyExtension / IndexViewPreProcess.tpl

{include file="Header.tpl"|vtemplate_path:$MODULE}
{include file="BasicHeader.tpl"|vtemplate_path:$MODULE}
<div class="bodyContents">
<div class="mainContainer row-fluid">
    <div class="contentsDiv span12">

vtigercrm / vtiger6 /布局/默认/模块/ MyExtension / index.tpl里

<h2>{$MODULE} module <small>working now.</small></h2>

vtigercrm / vtiger6 /语言/ EN_US / MyExtension.php

<?php
/** License Text Here **/
$languageStrings = array(  
'My Extension' => 'My Extension'
);