2009-12-14 4 views
0

D'un autre forum, je trouve l'exemple suivant:Pourquoi la fonction php_template_preprocess_page n'est pas appelée dans Drupal 6x?

« Je cherchais un moyen pour extraire des données de noeud via ajax et est venu avec la solution suivante pour Drupal 6. Après la mise en œuvre des changements ci-dessous, si vous ajoutez ajax = 1 dans l'URL (par exemple mysite.com/node/1?ajax=1), vous aurez juste le contenu et aucune mise en page

dans le fichier template.php de votre thème.

function phptemplate_preprocess_page(&$vars) { 

    if (isset($_GET['ajax']) && $_GET['ajax'] == 1) { 
     $vars['template_file'] = 'page-ajax'; 
    } 

} 

puis créer page-ajax.tpl.php dans le répertoire de votre thème avec ce contenu:

<?php print $content; ?> 

"

Cela semble être la façon logique de le faire et je l'ai fait, mais la fonction phptemplate_preprocess_page est jamais appelé ... des suggestions?

Répondre

4

j'ai tout compris pour moi-même d'une page de développement Thème Drupal soutien:

« Peut-être que cela aide leahcim.2707 - 29 mai 2008 - 05h40

je tentais d'obtenir la même chose faite et pour moi cela fonctionne, mais je ne suis pas sûr si c'est la bonne façon que je suis encore nouveau à Drupal:

dans "template.php" J'ai ajouté la fonction suivante: function phptemplate_preprocess_page (& $ vars) { $ css = $ vars ['css']; unset ($ css ['all'] ['module'] ['modules/system/system.css']); unset ($ css ['all'] ['module'] ['modules/system/defaults.css']); $ vars ['styles'] = drupal_get_css ($ css); }

Je pense qu'après avoir ajouté la fonction, vous devez aller dans/admin/build/themes pour que Drupal reconnaisse la fonction. "

La partie en gras est ce qui a fait le tour ... vous devez ré-enregistrer la configuration afin qu'il reconnaisse que vous avez ajouté une nouvelle fonction au modèle.

+0

Hé, cela m'a aidé comme Eh bien, pour la même raison que vous avez besoin, merci! – cgp

Questions connexes