Calcul avec flexicontent

More
7 years 3 months ago #68872 by id-pop
Bonjour,
Je suis en train de réaliser un site de formation. Chaque formation comporte plusieurs séquences (deux dans l'exemple ci-dessous) et chaque séquence comporte une ou plusieurs sous-séquence. Comme les formations peuvent comporter des sous-séquences semblables, je procède de la manière suivante :
J'ai créé deux types de contenus :
- Sous-séquence
- Formation
Les champs présents dans ces types de contenus sont (en réalité, il y a plus de champs mais pour éviter que l'exemple soit incompréhensible, j'ai simplifié) :
- Sous-Séquence :
- Titre : champ natif
- Durée : champ texte avec masque horaire (00:00)
- Formation (pour simplifier, je ne mets que deux "modules":
- Titre de la séquence 1 : champ texte
- Sous-séquence en lien 1 : champ relation (pour sélection un ou plusieurs articles de type "séquence"
- Séquence 1 : champ load module (module séquences en lien 1)
- Titre de la séquence 2 : champ texte
- Sous-séquence en lien 2 : champ relation (pour sélection un ou plusieurs articles de type "séquence"
- Séquence 2 : champ load module (module séquences en lien 2)
Dans le template en vue détail, je n'affiche que les champs "titre" et "séquence"
J'ai créé également en parallèle deux modules :
- Module séquences en lien 1
- Module séquences en lien 2
Chacun des modules est configuré de la même manière :
- Liste des articles : sélection :
- Types : inclure "sous-séquence"
- Elément connexe "sous-séquence en lien (1 ou 2 en fonction du module)
- Affichage : sélection des champs
- Custom fields : "description" et "durée"

Ma question est la suivante :
Comment faire pour calculer automatiquement la durée d'un module et la durée d'une formation pour pouvoir l'afficher en vue catégorie et/ou en vue détail ?


Exemple
Sous-séquences créées :
- SS1 : 00:10
- SS2 : 00:15
- SS3 : 00:20
- SS4 : 00:05
La formation 1 comporte :
- Séquence 1 qui comporte SS1 + SS2 + SS3
- Séquence 2 qui comporte SS2 + SS4

Je souhaite donc afficher en vue détail :
"Formation 1"
" Durée totale : 01:05 "
" Séquence 1 "
" Durée séquence 1 : 00:45"
" SS1 : 00:10"
" SS2 : 00:15"
" SS3 : 00:20"
" SS4 : 00:05"
" Séquence 2 "
" Durée séquence 2 : 00:20"
" SS2 : 00:15"
" SS4 : 00:05"

Merci !!

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

More
7 years 3 months ago #68882 by ggppdk
Replied by ggppdk on topic Calcul avec flexicontent
Hello

if only for displaying,
-- but not for searching

you can do like this
- create a text field
- create a custom layout for it and select it in field configuration
- and inside the custom layouts use the value of other fields via the array:

$item->fieldvalues


e.g. the value of fields 45 and 57
will be inside:

$item->fieldvalues[45]

$item->fieldvalues[57]



-- Flexicontent is Free but involves a big effort on our part.
Like the our support? (for a bug-free FC, despite having a long list of functions) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing with a 5-star...

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

More
7 years 3 months ago #68885 by id-pop
Replied by id-pop on topic Calcul avec flexicontent
I will try. Thanks a lot. You're the Best !!

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

More
7 years 3 months ago #68886 by ggppdk
Replied by ggppdk on topic Calcul avec flexicontent
Hello

while making this you should turn ON error reporting in Global configuration
to be able to see php notices and warning

e.g.

$item->fieldvalues[45]


is always an array


-- Flexicontent is Free but involves a big effort on our part.
Like the our support? (for a bug-free FC, despite having a long list of functions) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing with a 5-star...

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

More
7 years 3 months ago #68900 by id-pop
Replied by id-pop on topic Calcul avec flexicontent
Hi,
I have tried to find by myself but I don't really understand your explainations.
What do you mean by "create a custom layout " ? Is it in "viewing > value display > values layout" of the created text field ? Do I have to keep a "time" mask ?
And what do you mean by "use the value of other fields via the array" ? Do I have to create a php file ?
Thanks

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

More
7 years 3 months ago - 7 years 3 months ago #68925 by ggppdk
Replied by ggppdk on topic Calcul avec flexicontent
Hello

steps:

1. copy file:
plugins/flexicontent_fields/text/text/tmpl/value_default.php

as (new filename)
plugins/flexicontent_fields/text/text/tmpl/value_mycustom.php

2. in field configuration at "Viewing" TAB at parameter value layout select the new layout

3. edit new file (value_mycustom.php)
and use
Code:
if ( isset($item->fieldvalues[45][0]) ) { echo '(First) value of field with ID 45 is : ' . $item->fieldvalues[45][0]; }

or use for more complex fields:
Code:
if ( isset($item->fieldvalues[45][0]) ) { echo '(First) value of field with ID 45 is : ' . print_r( $item->fieldvalues[45][0] , true); }


-- Flexicontent is Free but involves a big effort on our part.
Like the our support? (for a bug-free FC, despite having a long list of functions) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing with a 5-star...
Last edit: 7 years 3 months ago by ggppdk.

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

Moderators: vistamediajoomlacornerggppdk
Time to create page: 1.394 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