Tu ne peux pas utiliser l'environnement de Thelia sans un minimum de chose, et en premier l'autoloader (regarde dans index.php). Le plus simple est d'utiliser un template et le module SmartyRedirect ( https://github.com/thelia-modules/SmartyRedirection ).
Un fonction de base de Thelia est de pouvoir appeler un template html simplement. Si tu as un template toto.html, tu peux alors écrire https://www.tonsite.com/toto pour "exécuter" ce template.
Tu peux donc créer un fichier notice.html dans template/fontOffice/<ton_template>, dans lequel tu vas pouvoir utiliser, une boucle "document". Bien sur, tu vas pouvoir ajouter une paramètre à cette URL pour transmettre l'ID du contenu à la boucle "content".
Exemple : https://www.tonsite.com/notice?c=12
Dans notice.html, tu récupère ce paramètre avec $smarty.get comme ça (le |default:0 c'est pour affecter 0 à la variable $idContenu pour ne pas la laisser vide):
{$idContenu = $smarty.get.c|default:0}
et tu peux alors faire :
{loop type='document' name='redirect-to-doc' source='content' source_id=$idContenu limit=1}
{redirect path=$DOCUMENT_URL status=302}
{/loop}
Par sécurité, on ajoute une petit contrôle :
{elseloop rel="redirect-to-doc"}
Désolé, nous n'avons pas trouvé cette notice.
{/elseloop}
Tout mis ensemble, on a donc un fichier notice.html qui contient ceci :
{$idContenu = $smarty.get.c|default:0}
{loop type='document' name='redirect-to-doc' source='content' source_id=$idContenu limit=1}
{redirect path=$DOCUMENT_URL status=302}
{/loop}
{elseloop rel="redirect-to-doc"}
Désolé, nous n'avons pas trouvé cette notice.
{/elseloop}
Si tu ne veux pas passer directement l'ID du contenu, pour des raisons de sécurité, tu peux imaginer de te baser sur un identifiant que tu vas ranger dans le chapo du contenu (exemple: notice-a, ou notice_materiel_x). Au lieu de passer l'ID directement dans l'URL, tu vas passer cet identifiant :
Exemple : https://www.tonsite.com/notice?ref=notice-a
Tu vas utiliser ensuite les paramètres de recherche des boucles pour retrouver le contenu, et par la même le document associé :
{$chapo = $smarty.get.ref|default:'xyz'}
{loop type="content" name="contenu-cherche" search_in='chapo' search_term=$chapo}
{loop type='document' name='redirect-to-doc' content=$ID limit=1}
{redirect path=$DOCUMENT_URL status=302}
{/loop}
{/loop}
{elseloop rel="contenu-cherche"}
Désolé, nous n'avons pas trouvé cette notice.
{/elseloop}