Почему я получаю ошибку с 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 {
Другие вопросы по тегам