Почему я получаю ошибку с edit.php в новом модуле 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;
}
}
1 ответ
Решение
Когда вы копируете фодер из другого модуля, вы должны изменить хотя бы имя класса. Пожалуйста, попробуйте заменить все вхождения продуктов на YourModuleName. Например, в первой строке.
Class YourModuleName_Edit_View extends Vtiger_Edit_View {