Bonjour,
Je récupère un vieux site statique, que je suis en train de passer sous SPIP 2.0.9.
Je souhaite conserver les anciennes urls (que j’ai bien enregistrées dans la table urls).
Malheureusement, comme le titre des pages est différent de ces urls, lorsque je clique sur « Voir en ligne », cette url est modifiée.
Quelle manipulation dois-je faire pour que les urls soient « bloquées » une fois pour toutes ?
Bonjour,
Je récupère un vieux site statique, que je suis en train de passer sous SPIP 2.0.9.
Je souhaite conserver les anciennes urls (que j’ai bien enregistrées dans la table urls).
Malheureusement, comme le titre des pages est différent de ces urls, lorsque je clique sur « Voir en ligne », cette url est modifiée.
Quelle manipulation dois-je faire pour que les urls soient « bloquées » une fois pour toutes ?
"Marc Brillault" a écrit
Je relance le sujet, n'ayant reçu aucune réponse.
Quelqu'un aurait-il une idée ?
Bonjour,
Je récupère un vieux site statique, que je suis en train de passer sous
SPIP 2.0.9.
Je souhaite conserver les anciennes urls (que j'ai bien enregistrées dans
la table urls).
Malheureusement, comme le titre des pages est différent de ces urls,
lorsque je clique sur "Voir en ligne", cette url est modifiée.
Quelle manipulation dois-je faire pour que les urls soient "bloquées" une
fois pour toutes ?
Cordialement,
Marc Brillault
La formation des URLs est gerée par un des fichiers /ecrire/urls/
( suivant ce que l'on as choisis )
Notement la fonction " creer_chaine_url($x) " qui possède un atout " if
(!function_exists('creer_chaine_url')) " ce qui veux dire qu'elle peux être
ré-écrite dans mes_options.php du dossier /config/
Personellement j'ai réécrite cette fonction et les defines d'avant la
fonction dans mes_options.php pour ajouter une date aux urls de mes articles
qui sont en arbo.
Peut-être (à tester peux tu modifier donc cette fonction pour qu'entre tel
et tel numéro d'article) cela ne change pas l'url si elle existe déjà ou que
cela refasse l'url avec la même syntaxe.
function creer_chaine_url($x)
{
// code
if ($objet['type'] == 'article' && $objet['id_objet']>99 &&
$objet['id_objet']<151)
{
//réécris comme l'url de cette facon pour les article qui ont leur ids
entre 100 et 150
}
else
{
// réécris de cette facon
}
// fin du code
}
C'est une piste que j'explorerais si je cherchais à faire cela, toutefois je
ne connais pas suffisement SPIP pour dire si c'est une bonne méthode ou non.
Je réponds avec beaucoup de retard (le projet a été repoussé), mais j’ai enfin trouvé la solution à mon problème :
On peut empêcher la modification des urls existantes avec le paramètre $GLOBALS[‹ var_urls ›] = false;
Le fichier ecrire/action/redirect.php, appelé lors du clic sur le bouton « voir en ligne », force ce paramètre à true.
Il suffit donc de modifier ce fichier pour que tout se passe comme « prévu ». Bien entendu, la création de nouveaux articles fonctionne très bien.
Je relance le sujet, n’ayant reçu aucune réponse.
Quelqu’un aurait-il une idée ?
Bonjour,
Je récupère un vieux site statique, que je suis en train de passer sous
SPIP 2.0.9.
Je souhaite conserver les anciennes urls (que j’ai bien enregistrées dans
la table urls).
Malheureusement, comme le titre des pages est différent de ces urls,
lorsque je clique sur « Voir en ligne », cette url est modifiée.
Quelle manipulation dois-je faire pour que les urls soient « bloquées » une
fois pour toutes ?
Cordialement,
Marc Brillault
La formation des URLs est gerée par un des fichiers /ecrire/urls/
( suivant ce que l’on as choisis )
Notement la fonction " creer_chaine_url($x) " qui possède un atout " if
(!function_exists(‹ creer_chaine_url ›)) " ce qui veux dire qu’elle peux être
ré-écrite dans mes_options.php du dossier /config/
Personellement j’ai réécrite cette fonction et les defines d’avant la
fonction dans mes_options.php pour ajouter une date aux urls de mes articles
qui sont en arbo.
Peut-être (à tester peux tu modifier donc cette fonction pour qu’entre tel
et tel numéro d’article) cela ne change pas l’url si elle existe déjà ou que
cela refasse l’url avec la même syntaxe.
function creer_chaine_url($x)
{
// code
if ($objet[‹ type ›] == ‹ article › && $objet[‹ id_objet ›]>99 &&
$objet[‹ id_objet ›]<151)
{
//réécris comme l’url de cette facon pour les article qui ont leur ids
entre 100 et 150
}
else
{
// réécris de cette facon
}
// fin du code
}
C’est une piste que j’explorerais si je cherchais à faire cela, toutefois je
ne connais pas suffisement SPIP pour dire si c’est une bonne méthode ou non.
J’ajoute également qu’au lieu de modifier le fichier ecrire/action/redirect.php, la méthode marche également en rajoutant la ligne dans un fichier d’urls personnalisées qu’on peut mettre dans le répertoire squelettes/url. C’est plus propre, et on ne touche pas au code source de SPIP lui-même.
Maintenant, je dois trouver un moyen de faire fonctionner les urls avec arborescence multiple.
Je réponds avec beaucoup de retard (le projet a été repoussé), mais j’ai enfin trouvé la solution à mon problème :
On peut empêcher la modification des urls existantes avec le paramètre $GLOBALS[‹ var_urls ›] = false;
Le fichier ecrire/action/redirect.php, appelé lors du clic sur le bouton « voir en ligne », force ce paramètre à true.
Il suffit donc de modifier ce fichier pour que tout se passe comme « prévu ». Bien entendu, la création de nouveaux articles fonctionne très bien.
Je relance le sujet, n’ayant reçu aucune réponse.
Quelqu’un aurait-il une idée ?
Bonjour,
Je récupère un vieux site statique, que je suis en train de passer sous
SPIP 2.0.9.
Je souhaite conserver les anciennes urls (que j’ai bien enregistrées dans
la table urls).
Malheureusement, comme le titre des pages est différent de ces urls,
lorsque je clique sur « Voir en ligne », cette url est modifiée.
Quelle manipulation dois-je faire pour que les urls soient « bloquées » une
fois pour toutes ?
Cordialement,
Marc Brillault
La formation des URLs est gerée par un des fichiers /ecrire/urls/
( suivant ce que l’on as choisis )
Notement la fonction " creer_chaine_url($x) " qui possède un atout " if
(!function_exists(‹ creer_chaine_url ›)) " ce qui veux dire qu’elle peux être
ré-écrite dans mes_options.php du dossier /config/
Personellement j’ai réécrite cette fonction et les defines d’avant la
fonction dans mes_options.php pour ajouter une date aux urls de mes articles
qui sont en arbo.
Peut-être (à tester peux tu modifier donc cette fonction pour qu’entre tel
et tel numéro d’article) cela ne change pas l’url si elle existe déjà ou que
cela refasse l’url avec la même syntaxe.
function creer_chaine_url($x)
{
// code
if ($objet[‹ type ›] == ‹ article › && $objet[‹ id_objet ›]>99 &&
$objet[‹ id_objet ›]<151)
{
//réécris comme l’url de cette facon pour les article qui ont leur ids
entre 100 et 150
}
else
{
// réécris de cette facon
}
// fin du code
}
C’est une piste que j’explorerais si je cherchais à faire cela, toutefois je
ne connais pas suffisement SPIP pour dire si c’est une bonne méthode ou non.