3

既存の modx インスタンスからリソースを引き出す iPad アプリケーションを他の会社に開発してもらうことを検討しているクライアントがいます。[いいえ - アプリである必要がある理由がわかりません....]

彼らは Modx API を使用しようとしていますが、これまでのところ、正しく「機能しない」ため、コネクタまたは何かを作成する必要があると言えますか?

基本的には、認証 [API キー タイプのアイデア] を処理し、すべてのデータをやり取りするコネクタを作成する必要がありますか? ここを見る:http : //rtfm.modx.com/display/revolution20/Loading+MODx+Externally modxを接続/使用する2つの方法があります-「modxを外部からロードする」の利点は「APIモードでmodxをロードする」よりも

APIドキュメントは簡単に見つかりましたが、実際に使用することはほとんどありませんでした.

そう:

  1. API 使用法に関するドキュメントはどこにありますか?
  2. load external と load as api メソッドの利点/長所/短所は何ですか
  3. 上記の私の仮定はすべて正しいですか、それとも本当に基本的なことを見逃していましたか?
4

2 に答える 2

2

API modx を使用するのに十分なドキュメント。モード API を接続したら ( http://rtfm.modx.com/display/revolution20/Loading+MODx+Externally - 私が最も気に入っている 3 番目の例 ) modx プロセッサを使用して、ユーザーを認証する例として、必要なことは何でも行うことができます。

if(isset($_POST) && count($_POST)){
    $c = array(
        'username' => $_POST['username'],
        'password' => $_POST['password']
    );
    $response = $modx->runProcessor('security/login',$c);
    if($response->response['success'] == 1){
        $user['id'] = $modx->user->get('id');
                $profile = $modx->user->getOne('Profile');
        $user['fullname'] = $profile->get('fullname');
        $user['email'] = $profile->get('email');
        echo json_encode($user);
    }else{
        echo json_encode($response->response); 
    }
}

簡単なリソースの取得:

if ($res = $modx->getObject('modResource', 1)) {
    print_r($res->toArray());
}

または高度な取得:

$response = $modx->runProcessor('resource/get', array('id' => 1));
if (!$response->isError()) {
    print_r($response->response['object']);
}
else {
    $modx->log(modX::LOG_LEVEL_ERROR, $response->getMessage());
}
于 2013-01-12T08:14:51.927 に答える
0

ここ数年、ModX のドキュメントはあまり得意ではありませんでしたが、ここにいくつかのリンクを示します。

まず、 ModXがどのように機能し、それを使用して開発できるように設計されているかを理解します。

ModX の API リファレンスはhttp://api.modx.comにあります。そこには、利用可能なすべてのメソッド、そのプロパティ、およびパラメーターがあります。これはガイドではなくリファレンスなので、あまり多くの文献を期待しないでください。

バージョン 2.3 以降、 ModX の上に独自の API を構築できます。RESTful エンドポイントのカスタマイズには非常に便利ですが、API の作業/構築の経験がない限り、これは難しいかもしれません。

最後に、より詳細なドキュメントを探している場合は、書籍を参照してください

たとえば、ModX オブジェクトを外部から利用できるようにする方法は次のとおりです。

<?php
require_once '/absolute/path/to/modx/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error', 'error.modError');
于 2014-08-26T18:44:35.767 に答える