it-swarm-ko.tech

첨부 파일로 양식에 CSS 및 JS 추가

외부 및 로컬 CSS 및 JavaScript 파일을 양식에 추가해야하지만이를 수행하는 올바른 방법을 찾지 못하는 것 같습니다. JS 및 CSS 파일의 경로와 URL을 간단히 추가합니까?

나는 $form['#attached']['css'][]$form['#attached']['js'][]이 작업을 수행하기에 올바른 위치이므로 양식을 다시 작성할 때 다시로드됩니다. 뭔가 빠진 것 같습니다.

37
vintorg

설명서를 보셨습니까?

CSS와 JS를 연결하여 작성하십시오

http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#attached

$form['#attached']['css'][] = drupal_get_path('module', 'ajax_example') . '/ajax_example.css';

$form['#attached']['js'][] = drupal_get_path('module', 'ajax_example') . '/ajax_example.js';

외부 파일

http://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_process_attached/7

외부 'js'및 'css'파일도로드 할 수 있습니다. 예를 들면 다음과 같습니다.

$build['#attached']['js']['http://code.jquery.com/jquery-1.4.2.min.js'] = array('type' => 'external');
71
Alex Gill

폼에 inline CSS를 추가하는 방법은 다음과 같습니다.

$form['#attached']['css'][] = array(
  'data' => '.my-example-element { display: none; }',
  'type' => 'inline',
);

CSS 배열에 add를 바꿔야합니다. 바꾸기보다는. 다른 추가 사항을 스쿼시하지 않으려면 ['css'][] = 대신 ['css'] =를 사용해야합니다.

11
doublejosh

이 작업을 수행하는 한 가지 방법이 있습니다. #after_build 속성을 사용하여 함수 호출 스위치 케이스에서 양식 ID를 전달하십시오.

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'my_form':
      $form['#after_build'][] = 'mymodule_after_build';
      break;
  }
}

function mymodule_after_build($form, &$form_state) {
  $path = drupal_get_path('module', 'mymodule');
  drupal_add_js ("$path/mymodule.js");
  return $form; 
}

또한이 좋은 자습서를 따라갈 수 있습니다 =에 CSS와 js를 추가 drupal forms

도움이 되었기를 바랍니다. :)

6
Prerit Mohan