1

main ファイル、xml ファイル、ajax.php ファイル、css フォルダー、js フォルダー、および default.php ファイルを含む tmpl フォルダーを持つ Joomla モジュール。

default.php ファイルには jquery ajax 関数があります。url パラメータは ajax.php ファイルを呼び出しています。このファイルは true または false (つまり、joomla コード - 電子メールが送信されたかどうか) を示しています。

jQuery.ajax({

            type : 'POST',
            url : 'modules/mod_abc/ajax.php',
            data : {
                varName : zxi,
                varEmail : zxj,
                varPhone : zxk,
                varTime : zxl
            },
            dataType : 'text',
                            .............
                            ..............
                            ...............
});

この出力は default.php ファイルには入っていません。定義された (JEXE) 行を削除すると、ajax.php ファイルから値を取得します。

定義された(JEXE)行も含むjoomlaモジュールの一部としてajax.phpファイルが必要です。その中にjoomlaのメール機能を書きたい

お願い助けて...

4

2 に答える 2

1

モジュールファイルはjoomla内で呼び出されるため、リファラーがjoomla自体であるかどうかを判断するために「JEXEC」パラメーターが必要です。つまり、このコードはajaxで呼び出しており、joomlaには含めていないため、ajax.phpファイルに挿入することはできません。

解決策は、モジュールのコンポーネントを「ヘルパー」として作成することです。ajax呼び出しのURLはコンポーネントを指しています。これは、どこからでも呼び出すことができ、JEXEパラメーターも確認できるためです。

        type : 'POST',
        url : 'http://yoursite.com/index.php?option=com_abc',
        data : {
            varName : zxi,
            varEmail : zxj,
            varPhone : zxk,
            varTime : zxl
        },
        dataType : 'text',

このメソッドは、パラメーターをcom_abcコンポーネントに渡し、コンポーネントで必要な操作を実行できます。戻り値を使用することを計画している場合は、format = rawパラメーターも使用して、ajax呼び出しのページ全体を印刷しないようにjoomlaに通知します。

  type : 'POST',
    url : 'http://yoursite.com/index.php?option=com_abc&format=raw',
    data : {
        varName : zxi,
        varEmail : zxj,
        varPhone : zxk,
        varTime : zxl
    },
    dataType : 'text',
于 2012-05-11T11:49:58.183 に答える