20/05/2010, 09:55:11
rho la défaitiste...
tiens j'avais pas encore lu ton précédent message mais par curiosité je me suis demandé pourquoi mon script fonctionnait pas.
l'erreur étant tout de même bien planqué j'avais décidé de te donner le code fonctionnel.
Test tu verras ca fonctionne.
la différence est sur la récupération du paramètre $_POST au lieu de $Param. en effet $Param est propre à cmsms et ce n'est pas une commande PHP. Il récupère les paramètres d'appel des UDT, par exemple {mabalise param='toto'}
Dans mon premier exemple comme le paramètre passe en POST, ca pouvait pas marcher. Ce sont les "echo" ajouté qui en 3s m'ont renseigné de l'erreur.
Maintenant fait moi plaisir et passe le temps nécessaire à comprendre ce script en entier quitte à poser des questions sur les points sensibles. Je préfère que tu utilise un script en le comprenant que d'utiliser bêtement un truc que tu pigeras pas et te revoir demain poser une nouvelle question ailleurs par ce que t'as toujours rien compris.
tiens j'avais pas encore lu ton précédent message mais par curiosité je me suis demandé pourquoi mon script fonctionnait pas.
l'erreur étant tout de même bien planqué j'avais décidé de te donner le code fonctionnel.
Code :
global $gCms;
if (! isset($_POST['alias']))
{
echo "param alias non renseigné";
return;
}
$page = $_POST['alias'];
$manager =& $gCms->GetHierarchyManager();
$node =& $manager->sureGetNodeByAlias($page);
if (! isset($node))
{
echo "alias '$page' inexistant";
return;
}
$content =& $node->GetContent();
if (isset($content) && is_object($content))
{
if ($content->GetURL() != '')
{
redirect($content->GetURL());
}
}
else
{
echo "alias pointant vers une non-page";
return;
}
la différence est sur la récupération du paramètre $_POST au lieu de $Param. en effet $Param est propre à cmsms et ce n'est pas une commande PHP. Il récupère les paramètres d'appel des UDT, par exemple {mabalise param='toto'}
Dans mon premier exemple comme le paramètre passe en POST, ca pouvait pas marcher. Ce sont les "echo" ajouté qui en 3s m'ont renseigné de l'erreur.
Maintenant fait moi plaisir et passe le temps nécessaire à comprendre ce script en entier quitte à poser des questions sur les points sensibles. Je préfère que tu utilise un script en le comprenant que d'utiliser bêtement un truc que tu pigeras pas et te revoir demain poser une nouvelle question ailleurs par ce que t'as toujours rien compris.