CMS Automne http://www.automne-cms.org/forum/ |
|
[résolu] Question regex et rangee http://www.automne-cms.org/forum/viewtopic.php?f=2&t=2669 |
Page 1 sur 1 |
Auteur: | wind [ Sam Fév 02, 2013 5:05 pm ] |
Sujet du message: | [résolu] Question regex et rangee |
Salut a tous: est il possible d'appliquer des regex aux variable avant de les afficher dans une rangée ? |
Auteur: | wind [ Sam Fév 02, 2013 5:08 pm ] |
Sujet du message: | Re: Question regex et rangee |
ex: la variable {chien:nom:label} vaut: "mac giver" et je voudrais ajouter un - pour obtenir "mac-giver" pour l'utiliser dans l'url... |
Auteur: | wind [ Dim Fév 03, 2013 12:55 am ] |
Sujet du message: | Re: Question regex et rangee |
je veux en partant de {chien:nom:label} faire ça: Code : <?php $texte = 'mac giver'; $texte = str_replace(' ', '-', $texte); // affichage de: mac-giver echo $texte; ?> puis récupérer {chien:nom:label} modifier comme je le veux !!! j'ai tester plusieurs trucs mais ça ne marche pas. |
Auteur: | Fred [ Lun Fév 04, 2013 11:05 am ] |
Sujet du message: | Re: Question regex et rangee |
Salut wind, Si tu veux modifier la valeur d'un champ d'un objet polymod il va falloir le faire en php avec l'API Automne. Ca devrait donner quelque chose comme ça : Code : <?php
$objetChien = new CMS_poly_object($idObjet); // Instanciation de l'élément $objetChien, $idObjet étant l'ID de l'objet "chien". $objetChien->setValues($idChamp, array($idChamp.'_0' => $texte), ''); // Enregistrement de la valeur $texte dans le champ "nom" dont l'ID est $idChamp if($objetChien->writeToPersistence()) // Enregistrement de l'élément $objetChien { echo "Enregistrement OK"; } else { echo "Erreur d'enregistrement"; } ?> |
Auteur: | wind [ Lun Fév 04, 2013 1:16 pm ] |
Sujet du message: | Re: Question regex et rangee |
En fait, c'est pas ce que je veux faire... Toi tu me propose de modifier la valeur avant l'enregistrement mais je ne vaux pas faire ça, je veux juste remplacer les espaces dans variable par - lors de l'affichage pour mettre la variable dans l'url car en l'utilisant comme elle est, j'ai des % dans l'url EX: Résultat obtenu: 17-malinois.php?fiche=34-mac%giver Résultat voulu: 17-malinois.php?fiche=34-mac-giver est ce que je m'explique bien ? Si je fais ce que tu me propose, il faudra alors que je fasse le travail inverse en suppriment les - pour l'affichage dans le contenu (hors url) !!! |
Auteur: | wind [ Lun Fév 04, 2013 1:22 pm ] |
Sujet du message: | Re: Question regex et rangee |
voila la ligne de code qui me pose soucis: <a href="web/genea/17-malinois.php?fiche={chien:id}-{chien:nom:label}"> {chien:nom:label} </a> la variable {chien:nom:label} == mac giver tu vois, dans le href la variable {chien:nom:label} en rouge doit avoir les - mais la variable {chien:nom:label} en noir ne doit pas les avoir !!! |
Auteur: | wind [ Lun Fév 04, 2013 1:27 pm ] |
Sujet du message: | Re: Question regex et rangee |
Au fait, je suis mal poli, un grand merci pour ta réponse quand même !!! |
Auteur: | Fred [ Lun Fév 04, 2013 1:38 pm ] |
Sujet du message: | Re: Question regex et rangee |
Ah OK, c'est ta phrase "puis récupérer {chien:nom:label} modifier comme je le veux" qui pour moi signifiait que la valeur devait être modifiée... Alors dans ce cas c'est super simple, tu as à ta dispositions les "helpers" (rubrique "variables générales" de la doc contextuelle des modules). Dans ton cas : Code : {helper:str_replace: |-|{chien:nom:label}} va retourner exactement ce que tu veux. Pour détailler un peu, ce helper fait un str_replace et tu as les paramètres de la fonction séparés un "|". Note pour plus tard : utilises le bouton "éditer" plutôt que d'ajouter de nouvelles réponses pour compléter ton message |
Auteur: | wind [ Lun Fév 04, 2013 1:49 pm ] |
Sujet du message: | Re: Question regex et rangee |
Très grand merci, comme tu le dis, ça retourne exactement ce que je veux... pour le coup tu viens aussi de me faire comprendre les helpers que je n'avais pas bien saisi !!! Bravo Fred, merci a toi EDIT: t'a vu, la j'édite le message en fait, si je n'édite pas, c'est pour être sur que l'ajout ne soit pas loupé par celui qui a déjà lu le message mais tu as entièrement raison !!! |
Page 1 sur 1 | Le fuseau horaire est UTC [Heure d’été] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |