2

テスト モジュール名 Mytest を作成しました。モジュールから値を保存しているときに、空白のページが表示され、「申し訳ありません。制限されたファイルにアクセスしようとしています。」と表示されます。なぜこれが起こっているのか、誰にもわかりません。これに関するヘルプは本当に感謝しています。

4

11 に答える 11

5

カスタムモジュールからファイルをインクルードしようとすると、Vtigerは、安全ではないと判断した場所からこれらのファイルをインクルードしていると見なすため、これらのメッセージが表示されます。

このエラーを回避するには、次のようにナビゲートして、Vtigerでモジュールを使用する標準的な方法を使用できます......./index.php?module=Mytest&action=indexCRMEntityVtigerにはモジュールが含まれるため、他のファイルdatautils関連ファイルを含める必要はありません。すべてこの方法で利用できるはずですが、などのglobalステートメントを使用していることを確認してください。$current_user$current_module

別の方法は、にある次の関数を編集することですutils/CommonUtils.php

heckFileAccessForInclusion()checkFileAccess()

これらの関数を削除またはコメントアウトしてdie()修正してください。

于 2012-04-12T11:55:41.870 に答える
4

Save.php ファイルに 1 行追加するだけです。

$focus->column_fields['assigned_user_id'] = '';

の前に

if($_REQUEST['assigntype'] == 'U') {
$focus->column_fields['assigned_user_id'] = $_REQUEST['assigned_user_id'];
} elseif($_REQUEST['assigntype'] == 'T') {
$focus->column_fields['assigned_user_id'] = $_REQUEST['assigned_group_id'];
}
于 2012-02-24T05:28:07.440 に答える
4

カスペルスキーが言ったことに次のように:

に移動して直後に/include/database/PearDatabase.php追加 $adb->setDebug(true);$adb->connect();

モジュールを作成したところ、このエラーを受け取りました。これは、省略したためにレコードを保存できなかったためです。 $moduleInstance->setEntityIdentifier($fieldInstance);

于 2012-03-01T06:34:09.213 に答える
3

参照しようとしているファイルのアクセス許可とファイル パスを確認してください。

さらにデバッグしたい場合は、インデックス ファイルに $adb->setDebug(true) を設定し、エラーをチェックアウトします。

于 2012-01-30T08:44:56.863 に答える
3

いくつかのことが頭に浮かびます:

  1. modules/CustomeModule ディレクトリを実際に作成し、そこに入力しましたか? (vtlib/ModuleDir/5.4.0 のテンプレートを使用し、CustomeModule.php のファイル名とクラスを編集します)

  2. モジュール クラス定義の大文字と小文字を確認してください。たとえば、クラス CustomeModule とクラス Customemodule

  3. モジュール/Mytest コードの開発でバージョン管理またはシンボリック リンクを使用している場合、「申し訳ありませんが、制限されたファイルにアクセスしようとしています」というメッセージが表示される可能性があります。メッセージ。

  4. モジュール設定スクリプトで、この行を追加したことを確認してください。

$module->initTables(); $module->initWebservice();

于 2013-08-20T08:30:36.080 に答える
2

すべての言語ファイルが存在することを確認してください。

ユーザー モジュールを使用すると、言語ファイルがディスクに存在しない場合でも、管理ユーザーはユーザーの言語を構成できます。

これが実際に問題であることをすばやく確認するには:- - include/utils/CommonUtils.php を編集し、$realfilepath 変数を出力し、die(); をコメントアウトします。- データベースで、「xxx_users から個別の言語を選択してください」;

これは、必要なファイルをダウンロードすることで修正できます。

簡単な修正として (read:hack):- - include/language ディレクトリに移動します - 既存の言語ファイルを必要なファイルとしてコピーします。(常に機能するとは限りません。たとえば、en_us から en_gb への変換は優れていますが、en_us から sp_es への変換はそうではありません)

于 2012-09-27T10:57:32.560 に答える
2

Smarty フォルダへの書き込み権限が設定されていないようです

于 2012-06-17T16:42:16.393 に答える