août 2010

Une erreur sur les dernières versions de views quand on utilise comme argument un tid (identifiant du terme)

Voici l'erreur comme elle s'affiche :'views_plugin_argument_default' not found in
\sites\all\modules\views\modules\taxonomy\views_plugin_argument_default_taxonomy_tid.inc

Pour contourner cette erreur quand on utilise les arguments de la taxonomy:

--- taxonomy.views.inc	2010-04-06 12:59:29.000000000 -0700
 
+++ taxonomy.views.inc	2010-04-13 15:19:03.000000000 -0700
 
@@ -462,6 +462,7 @@ function taxonomy_views_plugins() {

Voici comme on peut recuperer les valeurs d'un champ CCK pour l'utiliser dans un autre module :

<?php
  $fields = module_invoke('content', 'fields','nom_fileld');
  $values = module_invoke('content','allowed_values',$fields);
?>

Un probleme dans la tabulation du module quicktabs sous IE 7.

Un patch existe sur ce lien http://drupal.org/node/487518

le patch est :

Index: quicktabs.js
 
===================================================================
 
--- quicktabs.js	(revision 26)
 
+++ quicktabs.js	(working copy)
 
@@ -41,13 +41,11 @@
 
   this.tabIndex = el.myTabIndex;
 
   this.qtid = el.qtid;
 
   var qtKey = 'qt_' + this.qtid;
 
-  var i = 0;
 
   for (var key in Drupal.settings.quicktabs[qtKey].tabs) {
 
-    if (i == this.tabIndex) {

Le module soundmanager ne lit pas correctement le player !!!!!

La solution :

Dans le fichier soundmanager2_config.js à la ligne 10, il faut tout simplement désactiver le useHighPerfermance.

Voici donc comment on peut utiliser CCK pour utiliser le poids d'un champ dit "extra" qu'on a crée et qu'on veut le placer dans notre formulaire de node, selon le classement fait dans la gestion des champs de cck.

Voici les démarches et les fonctions à utiliser:

<?php
  /**
  * Implementation of hook_content_extra_fields.
  */
  function hook_content_extra_fields($type_name) {
    $extra['champ'] = array(
        'label' => t('Etiquette'),
        'description' => t('description du champ'),
        'weight' => 0,
    );

Pour ajouter une views avec votre code et afficher le résultat voici une fonction simple qui fait tout le boulot pour vous:

<?php
  /* 
    $nom  => le nom de la views
    $type => le type : default,feed,page etc.
    $args => les arguments de la views ( Valable si la views possède des arguments ) 
    N.B : Pour les versions < .7 c'est un array et pour >.7 c'est un ensemble de vars
  */
 
  $output = views_embed_view($nom, $type = 'default',$args);
 
?>

Une solution pour échaper aux problèmes CSS de IE ?

Jquery nous offre une fionction qui nous permet de détecter le navigateur et la plateforme du visiteur. Avec ça on peut par exemple manipuler les Class CSS de notre page.

$(function() { 
    var ua = navigator.userAgent.toLowerCase(); 
    var myBrowsers = { 
        // Déjà détectés en natif par jQuery 
        mozilla: $.browser.mozilla, 
        safari:  $.browser.safari, 
        opera:   $.browser.opera, 
        ie:      $.browser.msie, 
        // Quelques améliorations et ajouts 

Voici un petit code en Jquery qui va ouvrir tous les liens sortant de votre site dans une nouvelle fenetre.

$(document).ready(function() {
  $("a[@href^=http]").each(
    function(){
            if(this.href.indexOf(location.hostname) == -1) { 
        $(this).attr('target', '_blank');
      }
    }
  )
});

Pour récuperer la liste des thèmes activés sur votre site Drupal, il existe une function Drupal qui retourne les données de chacun dont voici le nom :

<?php system_theme_data(); ?>

Voici un extrait du retrour:

Array
(
    [minnelli] => stdClass Object
        (
            [filename] => themes/garland/minnelli/minnelli.info
            [basename] => minnelli.info
            [name] => minnelli
            [info] => Array
                (
                    [name] => Minnelli

Un petit code PHP à insérer dans votre fichier .php pour afficher les erreurs masqué par le serveur:

<?php
  error_reporting(E_ERROR | E_WARNING | E_PARSE);
  ini_set('display_errors', true);
  ini_set('display_startup_errors', TRUE);
?>