Cita:
Iniciado por el_javi En el HOOK de mi proyecto XXX_preprocess estoy definiendo una variable en función de una cookie.
Código de mi Preprocess php:
Código:
function XXXXXX_preprocess(array &$variables) {
if (isset($_COOKIE[personsSearchCookie]) && !empty($_COOKIE[personsSearchCookie])) {
$personsFilter = explode("-", $_COOKIE[personsSearchCookie]);
$variables["personsFilter"] = array (
"filterType" => $personsFilter[0],
"filterId" => $personsFilter[1]
);
}
Para mi puede ser por dos cosas:
1) Intenta agregarle un return $variables["personsFilter"]; despues de la sección que dice:
Código PHP:
Ver original$variables["personsFilter"] = array ( "filterType" => $personsFilter[0],
"filterId" => $personsFilter[1]
);
2) Intenta cambiar el && por || o porque en la siguiente linea
quiere decir que si tiene un valor establecido la variable
y no está en blanco entonces ejecuta el código que sigue.
Nota: || significa
o
Si aún así no te funciona, entonces instalas el modulo Devel.
y luego sustituye el código del preprocess por este que te voy a enviar:
Código PHP:
Ver originalfunction XXXXXX_preprocess
(array &$variables) { if (isset($_COOKIE[personsSearchCookie
]) && !empty($_COOKIE[personsSearchCookie
])) {
//esto es para saber si está llegando a esta sección.
dsm('El valor del cookie es:');
dsm($_COOKIE[personsSearchCookie]);
$personsFilter = explode("-", $_COOKIE[personsSearchCookie
]);
dsm('Verificamos el valor de la variable $personsFilter');
dsm($personsFilter);
dsm('Verificamos el valor de la variable $variables antes de asignar el valor');
dsm( $variables["personsFilter"]);
$variables["personsFilter"] = array ( "filterType" => $personsFilter[0],
"filterId" => $personsFilter[1]
);
dsm('Verificamos el valor de la variable $variables después de asignar el valor');
dsm( $variables["personsFilter"]);
}
Lo que te arroje ponlo aquí.
Saludos y Dios te bendiga.