我创建了一个模块,只是为了使用以下教程打印消息:
http://www.zbeanztech.com/blog/create-simple-module-vtiger-crm
我将语言文件的内容更改为数组格式。它能够导入模块并在Vtiger 5.4.0中正常工作。但是当我尝试在Vtiger 6.0.0Beta中安装它时,它会引发错误:
“为模块导入提供的文件无效!请再试一次。”
是否有人解决了同样的问题?
答案 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'
);