为什么我在新模块 Vtiger 中出现 edit.php 错误?
Why do i get error with edit.php in new module Vtiger?
我创建了一个新模块,然后我在那里没有目录 "view",所以我从另一个模块复制了该目录并将其粘贴到我的模块中,但后来我遇到了 "Edit.php"。
然后我的页面完全是白色的,它没有加载,但是当我更改 edit.php 的名称时它就可以工作了。
任何人都可以向我解释我需要做什么来修改我的模块或解决我的问题。
编辑文件:
Class Products_Edit_View extends Vtiger_Edit_View {
public function process(Vtiger_Request $request) {
$moduleName = $request->getModule();
$recordId = $request->get('record');
$recordModel = $this->record;
if(!$recordModel){
if (!empty($recordId)) {
$recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName);
} else {
$recordModel = Vtiger_Record_Model::getCleanInstance($moduleName);
}
}
$baseCurrenctDetails = $recordModel->getBaseCurrencyDetails();
$viewer = $this->getViewer($request);
$viewer->assign('BASE_CURRENCY_NAME', 'curname' . $baseCurrenctDetails['currencyid']);
$viewer->assign('BASE_CURRENCY_ID', $baseCurrenctDetails['currencyid']);
$viewer->assign('BASE_CURRENCY_SYMBOL', $baseCurrenctDetails['symbol']);
$viewer->assign('TAXCLASS_DETAILS', $recordModel->getTaxClassDetails());
$viewer->assign('IMAGE_DETAILS', $recordModel->getImageDetails());
parent::process($request);
}
/**
* Function to get the list of Script models to be included
* @param Vtiger_Request $request
* @return <Array> - List of Vtiger_JsScript_Model instances
*/
function getHeaderScripts(Vtiger_Request $request) {
$headerScriptInstances = parent::getHeaderScripts($request);
$jsFileNames = array(
'libraries.jquery.multiplefileupload.jquery_MultiFile'
);
$jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
$headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
return $headerScriptInstances;
}
}
当您从另一个模块复制一个文件夹时,您必须至少更改 class 名称。请尝试将所有出现的 Products 替换为 YourModuleName
例如在第一行
Class YourModuleName_Edit_View extends Vtiger_Edit_View {
我创建了一个新模块,然后我在那里没有目录 "view",所以我从另一个模块复制了该目录并将其粘贴到我的模块中,但后来我遇到了 "Edit.php"。
然后我的页面完全是白色的,它没有加载,但是当我更改 edit.php 的名称时它就可以工作了。
任何人都可以向我解释我需要做什么来修改我的模块或解决我的问题。
编辑文件:
Class Products_Edit_View extends Vtiger_Edit_View {
public function process(Vtiger_Request $request) {
$moduleName = $request->getModule();
$recordId = $request->get('record');
$recordModel = $this->record;
if(!$recordModel){
if (!empty($recordId)) {
$recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName);
} else {
$recordModel = Vtiger_Record_Model::getCleanInstance($moduleName);
}
}
$baseCurrenctDetails = $recordModel->getBaseCurrencyDetails();
$viewer = $this->getViewer($request);
$viewer->assign('BASE_CURRENCY_NAME', 'curname' . $baseCurrenctDetails['currencyid']);
$viewer->assign('BASE_CURRENCY_ID', $baseCurrenctDetails['currencyid']);
$viewer->assign('BASE_CURRENCY_SYMBOL', $baseCurrenctDetails['symbol']);
$viewer->assign('TAXCLASS_DETAILS', $recordModel->getTaxClassDetails());
$viewer->assign('IMAGE_DETAILS', $recordModel->getImageDetails());
parent::process($request);
}
/**
* Function to get the list of Script models to be included
* @param Vtiger_Request $request
* @return <Array> - List of Vtiger_JsScript_Model instances
*/
function getHeaderScripts(Vtiger_Request $request) {
$headerScriptInstances = parent::getHeaderScripts($request);
$jsFileNames = array(
'libraries.jquery.multiplefileupload.jquery_MultiFile'
);
$jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
$headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
return $headerScriptInstances;
}
}
当您从另一个模块复制一个文件夹时,您必须至少更改 class 名称。请尝试将所有出现的 Products 替换为 YourModuleName 例如在第一行
Class YourModuleName_Edit_View extends Vtiger_Edit_View {