我有一个问题。我需要向vTiger中的FelexAjax函数发出PHP请求,有人可以帮忙吗?
这是我的代码:MenuReorder.php
class Settings_FlexSuite_MenuReorder_Action extends Settings_Vtiger_Basic_Action {
public function process(Vtiger_Request $request) {
$adb = \PearDatabase::getInstance();
$modules = \FlexSuite\VtUtils::getEntityModules(true);
echo json_encode($modules);
}
public function validateRequest(Vtiger_Request $request) {
$request->validateWriteAccess();
}
}
这是我的代码:MenuEditor.js
$( document ).ready(function() {
FlexAjax("FlexSuite").postSettingsAction("MenuReorder", { parameter1:value1 }, "json").then(function(response) {
var RecordLabel = response.label;
});
});
使用以下代码:PHP方面:
class Settings_FlexSuite_MenuReorder_Action extends Settings_Vtiger_Basic_Action {
public function checkPermission(Vtiger_Request $request) {
$currentUser = Users_Record_Model::getCurrentUserModel();
if(!$currentUser->isAdminUser()) {
throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
}
}
public function process(Vtiger_Request $request) {
$adb = \PearDatabase::getInstance();
$modules = \FlexSuite\VtUtils::getEntityModules(true);
$response = new Vtiger_Response();
$response->setResult($modules);
$response->emit();
}
}
Java脚本代码:
$( document ).ready(function() {
params = {
data: {
module: 'FlexSuite',
parent: 'Settings',
action: 'MenuReorder',
}
};
app.helper.showProgress();
app.request.post(params).then(function(error, data) {
app.helper.hideProgress();
if(error === null) {
var RecordLabel = data.label;
app.helper.showSuccessNotification({message: RecordLabel});
}
});
});