2016-11-07 3 views
4

私はDrupal 8カスタムモジュールを開発しています。私は任意のノードタイプで2つのフィールド(urlとtext htmlフィールド)を持っています。httpClient - Guzzle for Drupal 8カスタムモジュール

モジュールは "urlフィールド"のページを削り取り、htmlコードをコピーして "text html field"に貼り付けます(このフィールドは管理ページには表示されません)。すべてのcron実行時に、このフィールドの内容は破砕されます。

私のhttp要求をするためにDrupal::httpClient(またはGuzzle)を使用しています。

$client = \Drupal::httpClient(); 
$request = $client->get('https://github.com/codeafrica/github-africa'); 
$response = $request->getBody(); 

これは初めてのDrupal 8開発モジュールです。このモジュールを開発するには、独自のHttpクライアントを作成するためにカスタムHTTPクライアントを作成する必要がありますか?私のモジュールのレパートリーでは、htmlコードのコピーと貼り付けの機能を実装する必要があります。コントローラがこれを行うことはできますか?

これは私のカスタムモジュールの構造である:

custom_module.info.yml 
custom_module.module 
custom_module.routing.yml 
src/Controller 
src/Http 

私が開始するために指導を必要としています。 ご協力いただきありがとうございます。

答えて

0

私がこのようなことに取り組んでいたときに私はこの質問に出会ったので、私はこれを働かせることができた2つの方法を共有しています。

私はそれらのいずれかが最良の方法:)に

であるかどうかわからないんだけど、私のcustom_module.module

  1. 方法1

    $client = new \GuzzleHttp\Client(); 
    $url = 'yourURL'; 
    $res = $client->request('GET', $url); 
    $res_body = $res->getBody(); 
    
  2. または方法2

    use Guzzle\Http\Client; 
    $client = new Client('yourURL'); 
    

関連する問題