drupal 7 – Término de taxonomía de contexto

Pregunta:

Tengo un contexto configurado:

Condition > taxonomy term > vocabulary.

Reaction > some blocks displayed somewhere

Esto funciona bien para rutas como taxonomy/term/term_id pero no funciona para algo como taxonomy/term/term_id_1+term_id_2

¿Algunas ideas? Gracias

Respuesta:

Este es un fragmento de código que puede ayudarlo, espero,

 <?php
   check_vocabulary = FALSE;
     $path = drupal_get_path_alias($_GET['q']); 
     $pathnew = explode('/', $path);
     if ($pathnew[2]) {
        $vocabulary = explode('+', $pathnew[2]);
     }
    if ($vocabulary[0] == "your taxonomy") {
       check_vocabulary = TRUE;
    }
  return check_vocabulary;
?>

Debe ponerlo en el bloque debajo de la pestaña Page specificy visibility setting , haga clic en Show if the following PHP code returns TRUE (PHP-mode, experts only).

Ahora no estoy seguro de que funcione con su configuración y nombre, pero podría ser una forma de solución.

 check_vocabulary = FALSE;

Como sabemos, el sistema quiere que devuelva VERDADERO para imprimir el bloque, por lo que lo configuramos como falso al principio para que no lo imprima y luego lo elimine.

$path = drupal_get_path_alias($_GET['q']); 
$pathnew = explode('/', $path);

En esta parte tomamos el camino y lo explotamos para obtener una matriz como esta.

$pathnew[0]; Taxonomy
$pathnew[1]; Term
$pathnew[2]; Term_id_1+term_id_2

if ($pathnew[2]) {
    $vocabulary = explode('+', $pathnew[2]);
  }

Primero verificamos que $pathnew[2] y luego lo $pathnew[2] para obtener todos los vocabularios (si lo desea por separado). Lo dividimos por + para que obtengas

$vocabulary[0]; Term_id_1
$vocabulary[1]; term_id_2

Ahora creamos la condición;

if ($vocabulary[0] == "your taxonomy") {
   check_vocabulary = TRUE;
}

Puedes comparar lo que quieras, eso es solo un ejemplo.

check_vocabulary = TRUE;

Esto es lo que el sistema quiere imprimir el bloque.

return check_vocabulary;

Esto devolverá la variable FALSE o TRUE .

Déjame saber si funciona.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım