web-gelistirme-sc.com

Bazı yönetici teması CSS kurallarını nasıl geçersiz kılabilirim?

Yönetici temasının kendisine dokunmadan (bazı tema işlevleri veya modül kancaları aracılığıyla) yönetici teması tarafından kullanılan bazı CSS kurallarını geçersiz kılmanın bir yolu var mı? Örneğin, bir text-align: right Yönetici formlarındaki (ve düzenleme düğümlerindeki) her tamsayı alanına.

20
Claudio

Sadece kullanarak yaptım:

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));
  }
}

Bu benim için biraz daha okunabilir.

15
Sebastian

Bunu yapmak için çeşitli yollar vardır, ancak tüm yaklaşımlar web sitenizin performansını etkilemek açısından eşit değildir. Örneğin:

  1. Yönetici temasını kopyalar veya yönetici teması dışında bir alt tema oluşturursanız (not, bu zaten Drupal Commerce ile çalışmaz, çünkü zaten Shiny tabanlı bir alt temaya sahiptir) - ve sonra .info çağrısı ile bir css dosyası ekleyin, her sayfaya CSS yükleyeceksiniz.
  2. Yönetici temasını kopyalar veya yönetici teması dışında bir alt tema oluşturursanız, template.php dosyanızdaki drupal_add_css () çağrısını kullanabilirsiniz. Bu, stil sayfasını koşullu olarak, yalnızca belirli sayfalarda veya belirli tarayıcılarda aramanıza olanak tanır. Bu iyi çalışıyor, ancak zaten gereğinden fazla dosya çağırıyorsunuz.
  3. Kendi modülünüzü oluşturun ve drupal_add_css () çağırın. Bildiğim kadarıyla, bu, orijinaline dokunmadan yönetici temasını değiştirmenin 'en hafif' yoludur ve yönetici temanız zaten bir alt tema ise işe yarayacaktır (örneğin, = Drupal Ticaret Kickstart Yöneticisi için) (bu, her koşulda işe yarayacağı için bu yöntemi kullanıyorum. Bir örnek için aşağıya bakın:

'Mymodule' adlı bir dizin oluşturun (istediğiniz adı kullanın), bu dosyaları içinde oluşturun ve ardından sitelerinize/all/modules/custom dizinine yerleştirin. Ne olduğunu görebilmeniz için aşağıdaki koda yorum ekledim.

  • mymodule.info
  • mymodule.module
  • css/mymodule.css

mymodule.info içeriği:

name = mymodule
description = Custom alterations for admin pages on my website
core = 7.x

mymodule.module içeriği:

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 daha sonra yönetici temasına eklenen stillerinize sahip olacaktır. Önbelleklerinizi temizleyin, bu modülü etkinleştirin ve yarışlara çıkın! Burada drupal_add_css hakkında daha fazla bilgi edinin .

11
PWM

Ne yaptığım sadece .info, Benzersiz bir CSS dosyası (genellikle overrides.css Olarak adlandırılır) ve template.php İle kullandığım yönetici teması için bir alt tema oluşturmaktır. gerekiyorsa dosya.

9

CSS Enjektör ne olacak?

Temaya bağlı bir yapılandırma kuralına izin verip vermediğini bilmiyorum, ancak yola dayalı bir izin verdiğini varsayıyorum (bu yüzden admin/, düğüm/add/, düğüm/*/edit hile yapmalıdır).

2
Berdir