Thème jQuery UI

8

Je veux utiliser dans mon module un thème jQuery UI personnalisé à partir du themeroller . Quelle est la meilleure façon de procéder?

ya.teck
la source
Je n'ai pas pu créer de balise jQuery UI .
ya.teck
il ne peut pas être séparé par des espaces ou bien il comprend que ce sont 2 balises différentes :)
Alex Weber
Il s'agit de la première question marquée avec jQuery Ui . Je n'ai pas la permission de créer une nouvelle balise :)
ya.teck
Pour quelle version Drupal êtes-vous intéressé?
kiamlaluno
J'utilise Drupal 7.
ya.teck

Réponses:

6

En supposant que vous utilisez le module jquery_ui , tout ce que vous avez à faire est de:

  • Créez un téléchargement personnalisé pour jQuery UI, y compris votre thème personnalisé à partir de ThemeRoller et copiez-le sous le dossier jquery_ui, en suivant les instructions dans le fichier README.txt du module
  • Alternativement, vous pouvez simplement créer votre thème personnalisé, le télécharger et le copier dans le répertoire de thème de jQuery UI

ÉDITER:

Cependant, puisque Drupal 7 est déjà livré avec la dernière interface utilisateur jQuery, tout ce que vous devez faire est de télécharger votre thème d'interface utilisateur jQuery personnalisé et de l'inclure en utilisant l'une des méthodes suivantes:

  • Copiez le répertoire dans le dossier de votre thème et incluez le fichier css dans le .info de votre thème
  • Créez un module personnalisé et implémentez hook_init () et utilisez drupal_add_css () pour ajouter votre feuille de style personnalisée:

    function mymodule_init () {$ options = array ('group' => CSS_THEME, 'every_page' => TRUE, 'weight' => 9999); drupal_add_css (drupal_get_path ('module', 'mymodule'), 'mymodule.css', $ options); }

Alex Weber
la source
Je n'ai pas trouvé la version drupal 7 de jquery_ui et je ne pense pas que copier mes fichiers dans le répertoire core de drupal soit le meilleur moyen.
ya.teck
Mon mauvais, d'accord, j'ai édité mon message d'origine pour résoudre ce problème :)
Alex Weber
Drupal_add_css n'ajoute- t-il pas simplement de nouveaux fichiers css mais ne les remplace pas? Je vais utiliser jQuery UI uniquement sur une seule page.
ya.teck
drupal_add_css remplace les fichiers du même nom, donc si vous nommez votre css 'jquery.ui.theme.css' par exemple, il sera utilisé à la place de la version par défaut
Alex Weber
3

Pour Drupal 7, le thème stock Seven fait cela ( lien du référentiel ) (abrégé):

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

Modifiez en conséquence, c'est-à-dire remplacez «sept» par le nom de votre thème et pointez le chemin vers le fichier CSS de votre thème d'interface jQuery.

Samat Jain
la source
3

Si vous ajoutez l'interface utilisateur via drupal_add_library(), vous pouvez modifier le style à l'aide de hook_library_alter(). Par exemple:

/**
 * 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();
}
Assistant Web
la source
1
Je pense que c'est la meilleure méthode car elle sera probablement spécifique au module. Aussi, cela a fonctionné pour moi.
Brandon Bearden
2

Je recommande d'utiliser le module de thème jQuery UI qui gère plusieurs interfaces utilisateur générées par THEMEROLLER et a attaché ces interfaces aux thèmes Drupal. Ensuite, définissez les classes CSS de l'interface utilisateur jquery pour les éléments dans Drupal avec les modules tels que la classe de bloc / la classe de nœud / le CSS de formulaire Web, etc.

sans poisson
la source