Ich möchte in meinem Modul ein benutzerdefiniertes jQuery-UI- Design aus dem Themeroller verwenden . Was ist der beste Weg, um es zu tun?
Ich möchte in meinem Modul ein benutzerdefiniertes jQuery-UI- Design aus dem Themeroller verwenden . Was ist der beste Weg, um es zu tun?
Antworten:
Angenommen, Sie verwenden das Modul jquery_ui , müssen Sie lediglich Folgendes tun:
BEARBEITEN:
Da Drupal 7 jedoch bereits mit der neuesten jQuery-Benutzeroberfläche geliefert wird, müssen Sie lediglich Ihr benutzerdefiniertes jQuery-Benutzeroberflächenthema herunterladen und es mit einer der folgenden Methoden einbinden:
Erstellen Sie ein benutzerdefiniertes Modul, implementieren Sie hook_init () und verwenden Sie drupal_add_css () , um Ihr benutzerdefiniertes Stylesheet hinzuzufügen:
Funktion mymodule_init () {$ options = array ('group' => CSS_THEME, 'every_page' => TRUE, 'weight' => 9999); drupal_add_css (drupal_get_path ('module', 'mymodule'), 'mymodule.css', $ options); }}
Für Drupal 7 führt das Stock Seven-Thema Folgendes aus ( Repository-Link ) (gekürzt):
function seven_css_alter(&$css) {
if (isset($css['misc/ui/jquery.ui.theme.css'])) {
$css['misc/ui/jquery.ui.theme.css']['data'] = drupal_get_path('theme', 'seven') . '/jquery.ui.theme.css';
}
}
Ändern Sie entsprechend, dh ersetzen Sie "sieben" durch den Namen Ihres Themas und zeigen Sie den Pfad zur CSS-Datei Ihres jQuery UI-Themas.
Wenn Sie die Benutzeroberfläche über hinzufügen drupal_add_library()
, können Sie den Stil mithilfe von ändern hook_library_alter()
. Zum Beispiel:
/**
* Implements hook_library_alter().
*/
function YOURMODULENAME_library_alter(&$libraries, $module) {
unset($libraries['ui']['css']['misc/ui/jquery.ui.theme.css']);
$libraries['ui']['css']['path/to/your/custom/theme/jquery.ui.theme.css'] = array();
}
Ich empfehle, das jQuery-UI- Designmodul zu verwenden, das mehrere von THEMEROLLER generierte Benutzeroberflächen verwaltet und diese Benutzeroberflächen an Drupal-Designs anfügt. Legen Sie dann die CSS-Klassen der jquery-Benutzeroberfläche für Elemente in Drupal mit den Modulen wie Blockklasse / Knotenklasse / Webform-CSS usw. fest.