How to set a php condition with field value ?

More
2 years 8 months ago - 2 years 8 months ago #81992 by micker
Bonjour je me permet de te répondre sans réponse....
Nous offrons gratuitement un composant plus complet je pense
Nous offrons aussi un support a l'utilisation de ce composant gratuitement et nous sommes plutôt rapide à répondre...
La la question c'est de la programmation PHP non lier au composant
J'ai déjà donner des liens des solutions (certe) cela ne te convient pas totalement
Nous envoyer x message par jour en nous rappelant qu'à ton avis cela devait être simple à faire et je pense légèrement déplacer
En tout amitiés bien sûr...
Oui cela peut être complexe de faire ce que tu veus surtout avec les soucis de pagination et de performance
Je vais essayer de voir si j'ai du temps dans la semaine prochaine.... Mais sans garantie
En espérant que tu comprennes merci

FLEXIcontent is Free but involves a very big effort on our part.
Like the our support? (for a bug-free FC, despite being huge extension) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing reviews. Thanks![/size]
Last edit: 2 years 8 months ago by micker.

Please Log in or Create an account to join the conversation.

More
2 years 8 months ago #81993 by bendeb
Désolé pour toutes mes questions, mais même si c'est du php ça concerne le composant quand même car les fichiers item.php ou category.php (ou autres) dans les templates peuvent se modifier.
Pour ma question en premier message de ce topic, c'est sans doute compliqué, mais ma dernière question est pourtant simple je pense :
Quelle est la syntaxe précise pour faire une condition (avec if) suivant la valeur d'un champ ?
J'ai essayé cette syntaxe mais ça ne fonctionne pas (j'ai également essayé des tas d'autres syntaxes sans succès) :
Code:
if($item->fields['my_field']->value == 1) {echo '1'; }

Je souhaite juste savoir ça et ensuite j'essaierai de me débrouiller.

Merci pour tes réponses.
J'ai toujours trouvé Flexicontent génial, on peut faire des tas de choses simplement, c'est très complet et ultra performant. J'utilise ce composant depuis de nombreuses années. Au fil des ans, FC s'est nettement amélioré, en partie grâce aux utilisateurs qui font leurs retours, que ce soit pour reporter un bug, ou demander une amélioration.
Je m'efforce donc, à ma petite échelle, de faire évoluer ce composant en participant à ces retours.

Les fichiers php des templates sont bourrés de condition php, de boucles et autres.
Je souhaite juste connaître la syntaxe pour récupérer dans une variable la valeur d'un champ.
Y a-t-il une doc à ce sujet quelque part ? J'ai cherché dans les DOCS/TUTOS en français et en anglais mais je ne trouve rien de concluant.

Flexicontent 4.1.0b1
Joomla 3.9.18

Please Log in or Create an account to join the conversation.

More
2 years 8 months ago #81994 by micker
Hello
1 as tu regarder la partie tutorial et FAQ du site
2 as tu regarder le générateur de code que je t'ai donner? Dans chaque template tu peus éditer les fichier et juste en dessous tu a un générateur de code pour t'aider
3 il te faut apprendre les bases du code en apprenant à debugger
Fait un écho de la valeur de ton champs pour vérifier si tu reçois une valeur et si ta comparaison est bonne
Je me répète c'est du code PHP et de la logique PHP rien avoir précisément avec l'utilisation de flexi

FLEXIcontent is Free but involves a very big effort on our part.
Like the our support? (for a bug-free FC, despite being huge extension) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing reviews. Thanks![/size]

Please Log in or Create an account to join the conversation.

More
2 years 8 months ago #82009 by bendeb
1) Oui, si tu parles bien du lien au-dessus DOCS/TUTOS.
2) Oui, mais la seule chose que je vois c'est pour afficher tous les champs d'une position ou afficher un champ en mode renderonly.
3) J'ai testé plein de choses, sans résultat. :(

Flexicontent 4.1.0b1
Joomla 3.9.18

Please Log in or Create an account to join the conversation.

More
2 years 8 months ago #82011 by micker
1 dans les tutos il y a des choses sur le fait de faire son template, apres tu ne trouvera pas TON tuto mais il faut fouiller
2 si je regarde le code proposer rien qu'en lisant je vois que ton code est faux
il est important de bien lire les choses
ce qui est recommander pour du code en render only
Code:
<?php echo $item->fields["fieldname"]->display; ?>
donc ta condition est mal faite
Code:
<?php if ( $item->fields["fieldname"]->display === 1){ echo 'ton resultat' } ?>
Attention les informations de ton champs sont enregistrés en 2 elements, la valeur et le label de valeur
En soit dans ton champs dans la section apparence c'est a toi de choisir que qui sort (la valeur ou la label) et tu dois donc adapter la condition en fonction

FLEXIcontent is Free but involves a very big effort on our part.
Like the our support? (for a bug-free FC, despite being huge extension) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing reviews. Thanks![/size]

Please Log in or Create an account to join the conversation.

More
2 years 8 months ago #82017 by bendeb
Code:
<?php echo $item->fields["fieldname"]->display; ?>
C'est bien cette syntaxe que j'utilise pour afficher mes champs. Parfois il faut mettre $this au lieu de $item sinon ça ne marche pas. J'ai pas bien compris pourquoi.
Le code que je donne qui est faux était un test pour essayer une condition sur la valeur d'un champ, mais ça ne fonctionne pas. Et c'est cette syntaxe que je cherche et pour laquelle j'ai demandé votre aide.

Ce code ci fonctionne bien par contre :
Code:
<?php if ($item->fields['fieldname']->display != NULL) { echo 'blablabla'; }?>
Ou en mettant l'inverse ça marche aussi :
Code:
<?php if ($item->fields['fieldname']->display == NULL) { echo 'blablabla'; }?>

Mais si les valeurs de mon champ sont des nombres (1 à 9) et qu'à la place de !=NULL ou ==NULL je met ===1 (ou ===2, etc.), ça ne fonctionne pas.

Dans les paramètres de ce champ, il affiche le label.

Mais en base de données, les values de ce champ sont bien des entiers, et uniquement ça (1 à 9 donc)
Donc comment faire une condition sur ce champ précis en fonction de cette value ? Quelle est la bonne syntaxe ?

Merci.


   

Flexicontent 4.1.0b1
Joomla 3.9.18

Please Log in or Create an account to join the conversation.

Moderators: vistamediajoomlacornerggppdk
Time to create page: 1.225 seconds
Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Essential
These cookies are needed to make the website work correctly. You can not disable them.
Display
Accept
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline