Drupal 양식에 WYSIWYG 첨부


12

맞춤형 Drupal 양식을 사용하면 WYSIWYG 모듈을 사용하여 WYSIWYG 기능을 텍스트 영역에 어떻게 연결할 수 있습니까?


moon.watcher가 제출 한 솔루션과 Dylan Tack이 완벽하게 작동한다는 것을 알았습니다.

답변:


2

Drupal 7에 대한이 표시를 검토하십시오 (drupal 6에 대한 표시가 약간 없음) http://drupal.org/node/1031160 . 특히 drupal 7의 텍스트 영역 안에 편집기를 표시하는 방법에 관한 것이므로 시작하는 것이 유용 할 수 있다고 생각합니다 (마지막 주석에는 테스트 된 방법이 있다고 간주됩니다).

대신 WYSIWYG를 사용하여이 작업을 수행 할 수 있습니다.


8

wysiwyg 모듈은 입력 형식 시스템에 연결되어 있습니다.

'#type' => 'text_format'텍스트 영역을 정의 할 때 사용하십시오 .


7

텍스트 영역 대신 type = 'text_format'을 사용해야합니다. format = 'editor_format'입니다. 코드는 다음과 같습니다.

$form['description'] = array(
  '#type' => 'text_format',
  '#title' => t('Description'),
  '#format' => 'full_html' //the format used for editor.
);

이것이 올바른 옵션입니다. 그러나 형식으로 safe_value를 얻을 수 없습니다.
Guru

4

여기 내 것이있다 :

$form['my_module_my_form_my_field'] = array(
  '#type' => 'text_format',
  '#title' => t('Awesome title'),
  '#format' => isset($edit['format']) ? $edit['format'] : NULL,
  '#base_type' => 'textarea',
  '#default_value' => variable_get('my_module_my_form_my_field', '')['value'],
  '#description' => t("Awesome description."),
  '#required' => FALSE,
  '#maxlength' => 500,
);

저장 후로드되지 않은 원인에 를 추가해야 ['value']했습니다 #default_value.

7x 양식 API 참조


1
와우, variable_get('foo', '')['value']접미사가 정말로 필요합니다.
leymannx

0

WYSIWYG 모듈은 많은 wysiwyg 편집기 중 하나를 사용하는 방법 일뿐입니다. wysiwyg 모듈 ( http://drupal.org/project/wysiwyg ) 을 설치하면 모듈 구성 (admin / config / content / wysiwyg)으로 이동하십시오. 사용 가능한 많은 Wysiwyg 편집기에 대한 설치 지시 사항이 있습니다. 예를 들어, FCKeditor의 경우 다음과 같이 표시됩니다.

아카이브를 추출하고 컨텐츠를 다음 위치의 새 폴더에 복사하십시오. sites / all / libraries / fckeditor

실제 라이브러리는 sites / all / libraries / fckeditor / fckeditor.js에서 찾을 수 있습니다.

따라서 편집기를 다운로드하고 지정된 디렉토리에 아카이브를 추출하십시오. 이 작업을 수행하면 (올바르게 수행했다고 가정) Wysiwyg 구성 화면에서 지정된 입력 형식에 대한 편집기를 변경할 수 있습니다. 그런 다음 각 유형 (필터링 된 HTML, 전체 HTML 등)에 대해 서로 다른 작업을 할당해야합니다. 관심있는 입력 형식에 대한 행에서 admin / config / content / wysiwyg의 조작 아래에서 "편집"을 클릭하십시오. 여기에서 원하는 단추를 확인하십시오.


CKEditor는 WYSIWYG 편집기를 사용하지 않고 "독립형"으로 설치할 수도 있습니다. drupal.org/project/ckeditor를 참조하십시오 .
Jorrit Schippers

0

Wysiwyg 버전 7.x-2에서는 가능하지 않지만 프로파일 설정의 양식 빌더는 다음 배열을 사용합니다.

  $profile['settings'] += array(
    'default' => TRUE,
    'user_choose' => FALSE,
    'show_toggle' => TRUE,
    'theme' => 'advanced',
    'language' => 'en',
    'access' => 1,
    'access_pages' => "node/*\nuser/*\ncomment/*",
    'buttons' => array(),
    'toolbar_loc' => 'top',
    'toolbar_align' => 'left',
    // ...
  );

"access_pages"배열 인덱스를 사용하면 편집기가 표시되는 페이지를 설정할 수 있지만 모듈은 해당 코드를 변경하기위한 양식 필드를 제공하지 않으며 함수가 해당 값을 사용하지도 않습니다.

값이 이전 버전에서 사용되었고 값을 처리하는 코드가 여전히 포팅되고 있거나 해당 옵션이 다음 버전의 모듈에 도입되고있을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.