it-swarm-eu.dev

Jak potlačit některá pravidla CSS pro téma administrátora?

Existuje způsob, jak přepsat pouze některá pravidla CSS používaná tématem admin, aniž by se dotkla samotného tématu administrátora (prostřednictvím některých funkcí motivu nebo zavěšení modulů)? Chtěl bych například přidat text-align: right do každého celého čísla ve formulářích správce (a také v uzlech úprav).

20
Claudio

Udělal jsem to jen pomocí:

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

To je pro mě trochu čitelnější.

15
Sebastian

Existuje několik způsobů, jak toho dosáhnout, ale ne všechny přístupy jsou si rovny, pokud jde o ovlivnění výkonu vašeho webu. Například:

  1. Pokud zkopírujete motiv administrátora nebo vytvoříte podtém mimo motiv administrátora (všimněte si, že to nebude fungovat s Drupal obchod, protože již obsahuje podtém mimo Shiny) - a poté přidejte soubor css prostřednictvím volání .info , načtete CSS na každou stránku.
  2. Pokud zkopírujete motiv správce nebo vytvoříte podtém mimo motiv správce, můžete použít zavaděč drupal_add_css () v souboru template.php . To vám umožní volat šablony stylů podmíněně, například na určitých stránkách nebo v určitých prohlížečích. Funguje to dobře, ale již voláte více souborů, než je nutné.
  3. Vytvořte si svůj vlastní modul a volejte z něj drupal_add_css () . Pokud vím, jedná se o „nejlehčí“ způsob, jak změnit téma administrátora, aniž byste se dotkli originálu, a bude fungovat, pokud je vaše téma administrátora již subtémou (např. Drupal Commerce Kickstart Admin) téma je podtémou Shiny). Tuto metodu používám, protože bude fungovat za všech okolností. Příklad níže:

Vytvořte adresář s názvem 'mymodule' (použijte libovolný název), vytvořte v něm tyto soubory a poté je umístěte do adresáře site/all/modules/custom. K níže uvedenému kódu jsem přidal komentáře, abyste viděli, co se děje.

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

mymodule.info obsahuje:

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

mymodule.module obsahuje:

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 pak bude mít vaše styly, které budou přidány do motivu administrátora. Vyčistěte své mezipaměti, povolte tento modul a jste na závodech! Další informace o drupal_add_css najdete zde .

11
PWM

Co dělám, je vytvořit podtéma pro jakékoli téma administrátora, které používám, pouze s .info, jedinečný soubor CSS (obvykle pojmenovaný overrides.css) a template.php soubor v případě potřeby.

9

A co CSS Injector ?

Nevím, jestli to dovoluje konfigurační pravidlo závislé na tématu, ale předpokládám, že to povolí na základě cesty (takže admin/, uzel/add /, uzel/*/editovat by měl udělat trik).

2
Berdir