我创建了一个模块,只是为了使用以下教程打印一条消息:
http://www.zbeanztech.com/blog/create-simple-module-vtiger-crm
我将语言文件的内容更改为数组格式。它能够导入模块并且在 Vtiger 5.4.0 中运行良好。但是当我尝试在 Vtiger 6.0.0Beta 中安装它时,它会引发错误:
“为模块导入提供的文件无效!再试一次。”
有同样问题的人解决了吗?
我创建了一个模块,只是为了使用以下教程打印一条消息:
http://www.zbeanztech.com/blog/create-simple-module-vtiger-crm
我将语言文件的内容更改为数组格式。它能够导入模块并且在 Vtiger 5.4.0 中运行良好。但是当我尝试在 Vtiger 6.0.0Beta 中安装它时,它会引发错误:
“为模块导入提供的文件无效!再试一次。”
有同样问题的人解决了吗?
我不知道你使用的是什么代码。所以使用此代码创建一个新模块。希望这可以帮助你。
<?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/modules/MyExtension/views/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/layouts/default/modules/MyExtension/Index.tpl
<h2>{$MODULE} module <small>working now.</small></h2>
vtigercrm/vtiger6/languages/en_us/MyExtension.php
<?php
/** License Text Here **/
$languageStrings = array(
'My Extension' => 'My Extension'
);