답변:
나는 그것을 사용하여 그것을했다 :
function mymodule_preprocess_html(&$variables) {
global $theme;
if ($theme === variable_get('admin_theme', 'seven')) {
// Reference your custom stylesheet.
drupal_add_css(drupal_get_path('module', 'mymodule') . '/css/mymodule.css', array('weight' => CSS_THEME));
}
}
그것은 좀 더 읽기 쉽습니다.
이를 수행하는 방법에는 여러 가지가 있지만 웹 사이트의 성능에 영향을 미치는 측면에서 모든 접근 방식이 동일한 것은 아닙니다. 예를 들면 다음과 같습니다.
'mymodule'이라는 디렉토리를 만들고 (원하는 이름을 사용하여)이 파일을 만든 다음 sites / all / modules / custom 디렉토리에 넣으십시오. 아래 코드에 주석을 추가하여 진행 상황을 확인할 수 있습니다.
mymodule.info는 다음을 포함합니다 :
name = mymodule
description = Custom alterations for admin pages on my website
core = 7.x
mymodule.module에는 다음이 포함됩니다.
function mymodule_preprocess_html(&$variables) {
// Add conditional stylesheets for admin pages on admin theme.
if (arg(0) === "admin") {
// Reference your current admin theme.
$theme_path = drupal_get_path('theme', 'commerce_kickstart_admin');
// Reference your own stylesheet.
drupal_add_css(drupal_get_path('module', 'mymodule') . '/css/mymodule.css', array('weight' => CSS_THEME));
}
}
그러면 css / mymodule.css에 관리자 테마에 추가 된 스타일이 있습니다. 캐시를 비우고이 모듈을 활성화하면 경쟁에서 벗어날 수 있습니다! drupal_add_css에 대해 자세히 알아보십시오 .
$theme_path
현재 모듈 경로를 사용하는 경우 변수 가 필요 CSS_THEME
하지 않으며 무게가 아니라 그룹입니다.array('group' => CSS_THEME)
내가하는 일은 .info
, 고유 CSS 파일 (일반적으로 이름이 지정된 overrides.css
) 및 template.php
필요한 경우 파일 만 사용하는 관리자 테마에 대한 하위 테마를 만드는 것입니다 .
무엇에 대한 CSS 인젝터 ?
테마 종속 구성 규칙을 허용하는지 모르겠지만 경로를 기반으로 규칙을 허용한다고 가정합니다 (따라서 admin / , node / add / , node / * / edit가 트릭을 수행해야 함).