2014-01-24 3 views
0

저는 Drupal 7과 Views를 사용하여 부동산 디렉토리를 만들고 있습니다. 필자는 필요한 모든 필드가 포함 된 콘텐츠 유형 (오퍼링)을 보유하고 있으며 콘텐츠 형식의 데이터로 자동 채울 공유 양식을 만들 수 있기를 원합니다. 예를 들어 해당 속성 페이지를 방문하여 공유 버튼을 클릭하면 양식에 속성 이름, 제목, 속성 이미지 및 제목이 이미 입력되어 모든 사용자가받는 사람 전자 메일을 입력하고 조회해야합니다 보내다. 나는 사용자 정의 PHP/jquery로 이것을 할 수 있었지만, 내 코드가 약간 버그가 있기 때문에 똑같은 것을 달성 할 수있는 Drupal 모듈이 있는지 궁금하다. 그리고 나는 1 페이지에 3 개의 폼이있다. (폼을 공유하고, 지원 담당자와 연락한다. 거래 팀). 여기 웹 양식 필드에 콘텐츠 형식 필드의 데이터를 채우려면 어떻게해야합니까?

이 주 양식

<form id="shareform" action="" method="post"> 
    <input type="text" name="shareto" /> 
    <input type="hidden" name="ttsubject" value="Greysteel Offering: <?php print $title; ?>" /> 
    <input type="hidden" name="teamemail" value="<?php print render($content['field_team_emails']['#items'][0]['value']); ?>" /> 
    <input type="submit" /> 
</form> 

완벽하게 위의 작품에 나타 노드 템플릿의 일부 샘플 코드 테스트 링크 여기 http://greysteel.webmschf.com/?q=7-eleven-1

입니다 만, 형태가 하드 코딩되어 드루팔 (Drupal의 백 엔드를 통해 관리 할 수 ​​없습니다. 이 주위에 어떤 방법이 있습니까? Webform 모듈을 사용해 보았지만 웹 폼에 속성 데이터를 자동으로 삽입하는 방법을 찾을 수 없습니다.

답변

0

당신은 이것을 달성하기 위해 자바 스크립트를 사용할 수 있습니다. 페이지의 어딘가에서 값을 인쇄하고 CSS로 숨길 수 있으며 페이지로드시 값을 가져 와서 양식 필드에 넣을 수 있습니다. 그것은 빠른 해결책이 될 것입니다.

다른 방법 (아마도 가장 좋은 옵션)은 노드를로드하고 그 노드에서 데이터를 가져 와서 필드를 미리 채우는 hook_form_alter 함수를 작성하는 것입니다.

function modulename_form_alter(&$form, &$form_state, $form_id) { 
    if ($form_id == 'webform_client_form_###') { 
    $node = node_load(#); 
    $form['ttsubject']['#default_value'] = field_view_field('node', $node, 'field_name'); 
    } 
}