2011-02-04 4 views
1

드루팔 (Drupal) 7 사이트를 보유하고 있으며 사용자 및 인증 여부에 관계없이 댓글 양식을 항상 일반 텍스트로 사용자 정의하고 싶습니다. 텍스트 형식 설정이 고정 될 것이므로 주석 본문 맨 아래에 나타나는 작은 표시를 제거하고 싶습니다.의견 양식 모양 및 느낌 맞춤 설정

일반적으로 코멘트 양식의 모양과 느낌을 사용자 정의하려면 어떻게해야합니까?

UPDATE

는 Berdir의 지침에 따라로서 나는 #after_build 기능을 추가했습니다. 나는 hook_form_comment_form_alter 함수를 template.php 파일에 추가하여이 작업을 수행했습니다. 즉, 새로운 기능이 호출하는 사용자 정의 기능은 다음과 같습니다 :
function mytheme_form_comment_form_alter(&$form, &$form_state, &$form_id) 
{ 
    $form['comment_body']['#after_build'][] = 'configure_comment_form'; 
    //$form['comment_body']['und']['#after_build'][] = 'configure_comment_form'; 
} 

function configure_comment_form(&$form, &$param1, &$param2) 
{ 
    var_dump($form); 
} 

가 분명히 나는 ​​ var_dump가 인쇄됩니다 나의 configure_comment_form 함수가 호출지고 있음을 알 수 있습니다. 나는 코드에 표시된 $form 배열의 위치에서 #after_build에 configure_comment_form을 추가하려고 시도했다. 두 가지 모두에 대해 동일한 결과가 나타나면 주석 본문 양식 필드가 사라집니다.

빌드 기능 이후에 기존의 파일을 덮어 쓰지 않았습니다. 나는 그것을에 기능을 추가하고 $form['comment_body']['und']['#after_build'] 사용자 정의 기능을 추가 한 후 다음과 같이 보이는 경우 $form['comment_body']['#after_build']이 존재하지 않는 : 나는 http://drupal.org/project/privatemsg

첫째을 위해 비슷한 짓을 한

["#after_build"]=> 
     array(2) { 
     [0]=> 
     string(30) "field_form_element_after_build" 
     [1]=> 
     string(22) "configure_comment_form" 
     } 

답변

1

는 다음과 같은 후크를 구현하는 테마의 template.php를 사용할 수있는 코멘트 몸에서 필터 상자를 제거하는 방법을 참조하십시오 당신의 주제의 CSS에서 다음과 같이 처리 할 수 ​​있습니다 :

.filter-wrapper { 
    display: none; 
} 

다른 기능을 해당 클래스를 숨김으로써 깨뜨릴 수 있는지 확실하지 않지만.

0

을의에 #after_build 기능을 추가 (양식을 변경하기 때문에 먼저 해당 함수가 있는지 확인한 후 추가하고 재정의하지 말 것)

그런 다음이 함수에서 형식 필드의 #access를 FALSE로 설정하고 forC#default_value를 원하는대로 지정하십시오.

function theme_filter_tips($variables) { 
    return ''; 
} 
function theme_filter_tips_more_info() { 
    return ''; 
} 
function theme_filter_guidelines($variables) { 
    return ''; 
} 

이 바로 필터/팁 상자의 윤곽을 남겨 것을 : privatemsg_check_format_access

+0

나는 너에 따라. 나는 다음 주 언젠가 이것을 알려 줄 것이며 다시보고 할 것이다. – Endophage

+0

좋아요, 내 after_build 함수가 호출되는 중입니다. hook_form_comment_form_alter 함수를 사용하여 빌드 후 추가 함수를 삽입했습니다. 그러나 #after_build를 사용자 정의 함수를 포함하도록 설정하면 주석 본문 본문이 전혀 표시되지 않습니다. #after_build에 설정된 다른 함수를 덮어 쓰지 않는다는 것을 두 번 확인했습니다 ... – Endophage

+0

#after_build 함수가 참조로 변경되지 않고 대신 변경된 구조를 반환해야하기 때문입니다. 위에서 privatemsg 예를 참조하십시오. – Berdir