간결한 답변을 찾는 데 어려움을 겪고 있습니다. Drupal의 ANY 요소에 클래스 또는 ID를 추가 할 수 있기를 원합니다. 따라서 페이지의 버튼을 쉽게 만들려면 클래스 "버튼"을 추가하고 싶습니다. 어떻게 그리고 어디에서 이것을 할 수 있습니까? form.inc에서 참조를 보았고 module.php와 같은 것을 사용했으나 구체적인 도움을 얻기 위해 고심하고 있습니다.클래스/ID를 모든 요소에 추가하는 방법은 무엇입니까?
답변
오버라이드를 구현해야합니다. 폼 항목에 대한 마크 업을 제공하는 핵심 테마 여기에는 theme_button
, theme_submit
, theme_textfield
등이 포함됩니다.
MYTHEME_theme_name()
을 구현하고 당신이 맞는 볼 출력을 무시하려면 :
위의 기능은
theme_button()
함수에서 직접 복사 및 단지에 여분의 줄을 추가한다
function mytheme_button(&$variables) {
$element = $variables['element'];
$element['#attributes']['type'] = 'submit';
element_set_attributes($element, array('id', 'name', 'value'));
$element['#attributes']['class'][] = 'form-' . $element['#button_type'];
if (!empty($element['#attributes']['disabled'])) {
$element['#attributes']['class'][] = 'form-button-disabled';
}
$element['#attributes']['class'][] = 'my-new-class';
return '<input' . drupal_attributes($element['#attributes']) . ' />';
}
버튼 요소에 추가 클래스를 추가하십시오.
훅을 구현하면 드루팔 (Drupal)의 캐시가 지워져 있는지 확인하십시오. 그러면 테마 레지스트리가 그 훅을 가져옵니다.
드루팔 (Drupal은 이미 form-text
, form-submit
등의 클래스를 개별 요소에 추가 했으므로 CSS를 사용하여 요소를 대상으로하려는 경우 해당 요소를 사용하려고 할 수 있습니다.
와우. 그래, 그 힘은 아직 나에게 그렇게 강하지 않다. 나는 트위터/부트 스트랩 CSS를 사용하려고 노력하고 있으므로 "상대적으로"쉽게 할 수있을 것이라고 생각했습니다. 나는 주변을 어지럽히고 내가 얼마나 멀리 갈 수 있는지 보게 될 것이다. –
page.tpl.php
에서 sites/all/themes/yourthemes/...
으로 이동하고 ID 또는 클래스 이름을 원하는대로 지정할 수 있습니다.
변경하려는 요소에 따라 다릅니다. 당신이 hook_form_alter와 형태의 클래스와 ID가 "의를 추가 할 수 있습니다 예를 들어
.
다른 요소는 예를 들어 html.tpl.php 될 수있는 요소가 오는 위치에 따라 변경하거나 사용자 지정 테마 템플릿 내에서 기각되어야한다 ., page.tpl.php, block.tpl.php, node.tpl.php과 Devel과 Devel themer 모듈 등
당신이 볼 수있는 위치의 더 나은 의견을 가질 수
편집 :. BTW 코어를 해킹하지 마십시오. 나중에 많은 문제가 발생합니다!
- 1. 특정 클래스를 제외한 모든 요소에 이벤트를 추가하는 방법은 무엇입니까?
- 2. Django의 모든 * InputText 요소에 속성을 추가하는 쉬운 방법은 무엇입니까?
- 3. HTML 요소에 텍스트를 추가하는 방법은 무엇입니까?
- 4. MooTools에서 호버링 요소에 클래스를 추가하는 방법은 무엇입니까?
- 5. AsDoc 주석을 구성 요소에 추가하는 방법은 무엇입니까?
- 6. XML 스키마 요소에 공백을 추가하는 방법은 무엇입니까?
- 7. javafx region 요소에 imageView를 추가하는 방법은 무엇입니까?
- 8. jquery 만든 요소에 데이터를 추가하는 방법은 무엇입니까? 새로운 요소에
- 9. 어떻게 추가하는 중요한 모든 요소에 CSS 파일에
- 10. PhoneApplicationPage 내의 모든 요소에 액세스하는 방법은 무엇입니까?
- 11. 런타임에 두 개의 델리게이트를 UI 요소에 추가하는 방법은 무엇입니까?
- 12. jQuery 작은 지연으로 하나씩 요소에 클래스를 추가하는 방법은 무엇입니까?
- 13. jquery에서 현재 요소 배열의 다음 요소에 클래스를 추가하는 방법은 무엇입니까?
- 14. 다른 스크립트를 비활성화하지 않고 구성 요소에 Javascript를 추가하는 방법은 무엇입니까?
- 15. 유효한 방법으로 HTML 요소에 속성을 추가하는 방법은 무엇입니까?
- 16. javascript로 onclick 이벤트를 요소에 추가하는 방법은 무엇입니까? (document.getElementbyID) (해결 된)
- 17. 문자열의 모든 단어에 기호를 추가하는 방법은 무엇입니까?
- 18. django의 모든 페이지에 앱을 추가하는 방법은 무엇입니까?
- 19. iOS : 모든 ViewControllers에서 제목보기를 추가하는 방법은 무엇입니까?
- 20. IE7의 다른 모든 요소에 클래스 추가
- 21. 내부 모든 요소에 대해 float을 지정하지 않고 div 안에있는 모든 요소에 대해 float를 설정하는 방법은 무엇입니까?
- 22. .NET 구성 요소에 스마트 태그를 추가하는 방법은 무엇입니까?
- 23. ASP.NET MVC에서 html 요소에 데이터 속성을 추가하는 방법은 무엇입니까?
- 24. Java에서 JSON 객체의 중첩 요소에 동적으로 추가하는 방법은 무엇입니까?
- 25. AJAX에 의해 추가 된 요소에 이벤트를 추가하는 방법은 무엇입니까?
- 26. jQuery의 요소에 RANDOM에 Class()를 추가하는 방법은 무엇입니까?
- 27. jquery가있는 요소에 프로 그래 시브 ID를 추가하는 방법은 무엇입니까?
- 28. ajax (jquery)를 통해 만든 요소에 CSS를 추가하는 방법은 무엇입니까?
- 29. 기존 구성 요소에 새 기능을 추가하는 방법은 무엇입니까?
- 30. Delphi에서 RichEdit 구성 요소에 선을 추가하는 방법은 무엇입니까?
어떤 버전의 드루팔 (Drupal)입니까? – Clive
드루팔 (Drupal) 7.10. 미안하다. –