2010-04-20 5 views
0

J'ai actuellement une vue (Drupal 6 using Views2) qui agrège correctement un type de contenu personnalisé (vidéos) et les filtre pour un affichage de page. Quand je crée un affichage de bloc, il prévisualise les résultats dans l'aperçu en direct tout simplement génial, mais quand je vais à la page s'attendant à voir le bloc, il n'apparaît pas. Je suis à peu près certain que l'argument que j'essaye de passer échoue parce que quand je sélectionne "Afficher tous les résultats" pour "Action à prendre si l'argument ne valide pas:" le bloc apparaît sur la page.drupal affiche des arguments de bloc

Tout conseil vraiment apprécié.

+0

Comment donnez-vous l'argument au bloc? à travers l'URL ou est-ce que vous imprimez la vue dans un tpl.php et passez des arguments? – Jozzeh

+0

Je pense que je le passe à travers l'URL, sur l'affichage de bloc J'ai ajouté un argument pour terme, puis je fournis un argument par défaut qui est défini à l'ID de terme de taxonomie de l'URL. Mais cela ne semble pas fonctionner comme je le souhaite, fonctionne très bien dans Live Preview, mais pas lorsque je navigue sur la page. – slimcady

+0

Le bloc est donc affiché sur une page de liste de taxonomie? – Grayside

Répondre

2

vous pouvez utiliser le code PHP dans la section «fournir l'argument par défaut». en supposant que vous utilisez un rappel de menu pour appliquer l'argument que vous pouvez faire ceci:

<?php 

if(args(0) == 'your-menu-path' && args(1) != ''){ 
    return args(1) 
} 

?> 

assurez-vous que vous passez un argument par défaut à «vue-embed-vue() si vous l'utilisez pour placer la voir sur votre page sinon il n'apparaîtra pas du tout.

0

Dans Drupal 7, pour trouver le nœud sur lequel vous vous trouvez, suivez la réponse de corneliusk à propos de son argument par défaut. Cependant, ne pas inclure les balises php, et c'est juste "arg" pas "args" pour d7. Ex:

if(arg(0) == 'node' && arg(1) != ''){ 
    return arg(1); 
} 
else { 
    return ""; 
} 
Questions connexes