CMS Automne

Forum de la communauté du CMS Automne
Nous sommes actuellement le Mar Avr 16, 2024 8:44 am

Le fuseau horaire est UTC [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 9 messages ] 
Auteur Message
MessagePublié: Sam Fév 02, 2013 5:05 pm 
Hors-ligne

Inscrit(e) le : Ven Nov 19, 2010 11:05 am
Message(s) : 223
Salut a tous:
est il possible d'appliquer des regex aux variable avant de les afficher dans une rangée ?


Dernière édition par wind le Lun Fév 04, 2013 1:50 pm, édité 1 fois.

Haut
 Profil  
 
 Sujet du message: Re: Question regex et rangee
MessagePublié: Sam Fév 02, 2013 5:08 pm 
Hors-ligne

Inscrit(e) le : Ven Nov 19, 2010 11:05 am
Message(s) : 223
ex:
la variable {chien:nom:label} vaut: "mac giver"
et je voudrais ajouter un - pour obtenir "mac-giver" pour l'utiliser dans l'url...


Haut
 Profil  
 
 Sujet du message: Re: Question regex et rangee
MessagePublié: Dim Fév 03, 2013 12:55 am 
Hors-ligne

Inscrit(e) le : Ven Nov 19, 2010 11:05 am
Message(s) : 223
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.


Haut
 Profil  
 
 Sujet du message: Re: Question regex et rangee
MessagePublié: Lun Fév 04, 2013 11:05 am 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Jeu Oct 07, 2010 1:28 pm
Message(s) : 13
Localisation : Toulouse
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";
   }
?>


Haut
 Profil  
 
 Sujet du message: Re: Question regex et rangee
MessagePublié: Lun Fév 04, 2013 1:16 pm 
Hors-ligne

Inscrit(e) le : Ven Nov 19, 2010 11:05 am
Message(s) : 223
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) !!!


Haut
 Profil  
 
 Sujet du message: Re: Question regex et rangee
MessagePublié: Lun Fév 04, 2013 1:22 pm 
Hors-ligne

Inscrit(e) le : Ven Nov 19, 2010 11:05 am
Message(s) : 223
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 !!!


Haut
 Profil  
 
 Sujet du message: Re: Question regex et rangee
MessagePublié: Lun Fév 04, 2013 1:27 pm 
Hors-ligne

Inscrit(e) le : Ven Nov 19, 2010 11:05 am
Message(s) : 223
Au fait, je suis mal poli, un grand merci pour ta réponse quand même !!! :D


Haut
 Profil  
 
 Sujet du message: Re: Question regex et rangee
MessagePublié: Lun Fév 04, 2013 1:38 pm 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Jeu Oct 07, 2010 1:28 pm
Message(s) : 13
Localisation : Toulouse
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 :wink:


Haut
 Profil  
 
 Sujet du message: Re: Question regex et rangee
MessagePublié: Lun Fév 04, 2013 1:49 pm 
Hors-ligne

Inscrit(e) le : Ven Nov 19, 2010 11:05 am
Message(s) : 223
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 :D

EDIT: t'a vu, la j'édite le message :wink:
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 !!!


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 9 messages ] 

Le fuseau horaire est UTC [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 7 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit par Maël Soucaze et Elglobo © phpBB.fr