2016-11-07 3 views
4

Drupal 8 사용자 정의 모듈을 개발 중입니다. 모든 노드 유형에 두 개의 필드 (url 및 text html 필드)가 있습니다. 모듈이 예상하는 기능입니다 :httpClient - Guzzle for Drupal 8 사용자 정의 모듈

모듈은 "url 필드"의 페이지를 긁어 내고 "텍스트 필드"(이 필드는 관리 페이지에 숨김)에 붙여 넣기위한 html 코드를 복사합니다. 모든 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

비슷한 질문을 할 때 나는이 질문에 마주 쳤다. 그래서 나는 이것을 작동시킬 수있는 두 가지 방법을 공유하고있다.

나는 그들 중 하나가 최선의 방법 :)에서

경우 모르겠어요 내 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');