IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

[eZ Publish] Problème type de données provenant d'un fichier .ini


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 73
    Par défaut [eZ Publish] Problème type de données provenant d'un fichier .ini
    Bonjour à tous,
    voici mon soucis :
    Pour plusieurs de mes requêtes j'ai besoin de récupérer le fetch_direction en provenance d'un fichier .ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {set fetch_direction=ezini('ChildrenConfig_global', 'FetchSortDirection', 'children.ini')}
    Ce qui s'effectue très bien mais le problème quand j'affiche un $fetch_direction | attribute(show) , il apparait la ligne suivante :
    Attribute Type Value
    0 string 'true'

    Or, pour que mes requêtes fonctionnent correctement, il faut que je récupère cette valeur en Booléen et pas chaîne de caractère sinon il ne trie pas les valeurs comme je le désire.
    Avez-vous une idée de comment récupérer ma valeur fetchç_direction en booléen depuis mon fichier .ini
    Je vous ci-joint aussi les paramètres du .ini que j'utilise pour mes requêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    [ChildrenConfig_global]
    # Liste des champs, la clefs est la tête de colonne, la valeur est le nom du champs
    # Tools / Modified / Published / Type / Priority / Author / Modifier / Parent / Name / eZName / HideShow sont des valeurs spéciales
    # Pour Parent, la valeur est le titre de la colonne
    # Pour eZName et Name servent à faire un lien vers l'objet, pour Name la valeur est le champ qui sert de lien
    # Voir template/node/view/line_children.tpl
    Fields[Tools]=
    Fields[eZName]=name
    Fields[Modified]=
    Fields[Type]=
    Fields[Author]=
    Fields[HideShow]=
    Fields[Priority]=
    #Fields[Parent]=Parent
     
    # FetchType accepte les valeurs suivantes :
    # - list
    # - tree
    FetchType=list
     
    # FetchClass est un tableau des classes listées
    FetchClass[]
     
    # FetchSort accepte les valeurs suivantes :
    # - priority
    # - published
    # - name
    FetchSort=priority
    FetchSortDirection=true
    En vous remerciant d'avance.

  2. #2
    Membre émérite Avatar de sboyer
    Homme Profil pro
    Développeur PHP chez OpenWide
    Inscrit en
    Février 2010
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur PHP chez OpenWide
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 348
    Par défaut
    Salut,

    Tu peux utiliser la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {set $fetch_direction=ezini('ChildrenConfig_global', 'FetchSortDirection', 'children.ini')|eq('true')}

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 73
    Par défaut
    Merci pour ta réponse ça fonctionne bien mais ça me poser des soucis pour les autres cas.Du moins, pour les cas spécifiques où pour Media la valeur est à true et pour Actualites la valeur est à false.
    Extrait du fichier children.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    # Liste de configuration de la liste des noeuds enfant disponibles
    [ListChildrenConfig]
    Nodes[]
    # Pour la mediathèque
    Nodes[43]=media
    ParentNodes[43]=media
    ParentParentNodes[43]=media
     
    Nodes[146]=actualites
     
     
    [ChildrenConfig_actualites]
    Fields[Tools]=
    Fields[eZName]=name
    Fields[Modified]=
    Fields[Type]=
    Fields[Author]=
    Fields[HideShow]=
    Fields[Priority]=
    #Fields[Parent]=Parent
    FetchType=list
    FetchClass[]
    FetchSort=modified
    FetchSortDirection=false
     
     
    [ChildrenConfig_media]
    Fields[Tools]=
    Fields[eZName]=
    Fields[Modified]=
    Fields[Author]=
    FetchType=list
    FetchClass[]
    FetchSort=published
    FetchSortDirection=true
     
    [ChildrenConfig_bandeaux]
    Fields[Tools]=
    Fields[eZName]=
    Fields[Modified]=
    Fields[Author]=
    Fields[Priority]=
    FetchType=list
    FetchClass[]
    FetchSort=published
    FetchSortDirection=true
    Extrait du fichier children.tpl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    {let specific_nodes_config=ezini('ListChildrenConfig', 'Nodes', 'children.ini')
    		 specific_parent_nodes_config=ezini('ListChildrenConfig', 'ParentNodes', 'children.ini')
    		 specific_parent_parent_nodes_config=ezini('ListChildrenConfig', 'ParentParentNodes', 'children.ini')
     
    }
    {let config_fields=array()
    		 fetch_sort=''
    		 fetch_direction=false()
    		 fetch_type=''
    		 fetch_class=array()
    		 fetch_hash=array()
    		 fetch_count_hash=array()
    		 attr_filter=array('and')
    		 ignore_params=array('year', 'month', 'day', 'offset')
    		 page_limit=ezpreference( 'page_limit' )
    		 page_suffix=''
    }
     
    {if $page_limit|not()}
    	{set $page_limit=ezini('KeZAdmin', 'DefaultPageLimit', 'kezadmin.ini')}
    {/if}
     
    {if $node.name|eq("Bandeaux d'accueil")}  
    		{set config_fields=ezini('ChildrenConfig_bandeaux', 'Fields', 'children.ini')}
    		{set fetch_sort=ezini('ChildrenConfig_bandeaux', 'FetchSort', 'children.ini')}
    		{set fetch_direction=ezini('ChildrenConfig_bandeaux', 'FetchSortDirection', 'children.ini')}
    		{set fetch_type=ezini('ChildrenConfig_bandeaux', 'FetchType', 'children.ini')}
    		{set fetch_class=ezini('ChildrenConfig_bandeaux', 'FetchClass', 'children.ini')}
    {elseif or(is_set($specific_nodes_config[$node.node_id]), is_set($specific_nodes_config[$node.parent.node_id]), is_set($specific_nodes_config[$node.parent.parent_node_id]))}
      {let specific_section=concat('ChildrenConfig_', first_set($specific_nodes_config[$node.node_id],$specific_nodes_config[$node.parent.node_id],$specific_nodes_config[$node.parent.parent_node_id]))}
    		{set config_fields=ezini($specific_section, 'Fields', 'children.ini')}
    		{set fetch_sort=ezini($specific_section, 'FetchSort', 'children.ini')}
    		{set fetch_direction=ezini($specific_section, 'FetchSortDirection', 'children.ini')}
    		{set fetch_type=ezini($specific_section, 'FetchType', 'children.ini')}
    		{set fetch_class=ezini($specific_section, 'FetchClass', 'children.ini')}
    	{/let}
    {else}
    	{set config_fields=ezini('ChildrenConfig_global', 'Fields', 'children.ini')}
    	{set fetch_sort=ezini('ChildrenConfig_global', 'FetchSort', 'children.ini')}
    	{set fetch_direction=ezini('ChildrenConfig_global', 'FetchSortDirection', 'children.ini')|eq('true')}
    	{set fetch_type=ezini('ChildrenConfig_global', 'FetchType', 'children.ini')}
    	{set fetch_class=ezini('ChildrenConfig_global', 'FetchClass', 'children.ini')}
    {/if}
     
    <!-- Tri par dernière date de modification des éléments du dernier enfant -->
    {def $leveldispo=false()
    	 $sortm=''}
     
    {foreach $node.children as $child}
    	{if $child.children_count|gt(0)}
    		{set $leveldispo=true()}
    	{/if}		
    {/foreach}
    {if not($leveldispo)}
    	{set $sortm=array('modified',false())}
    {else}
      {set $sortm=array($fetch_sort, $fetch_direction)}
    {/if}	
    <!-- FIN -->
    As-tu une idée qui pourrait s'adapter à ce genre de situation ?

  4. #4
    Membre émérite Avatar de sboyer
    Homme Profil pro
    Développeur PHP chez OpenWide
    Inscrit en
    Février 2010
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur PHP chez OpenWide
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 348
    Par défaut
    Tu n'as pas utilisé la méthode dans tous tes ifs....

    Ce que tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    {let specific_nodes_config=ezini('ListChildrenConfig', 'Nodes', 'children.ini')
    		 specific_parent_nodes_config=ezini('ListChildrenConfig', 'ParentNodes', 'children.ini')
    		 specific_parent_parent_nodes_config=ezini('ListChildrenConfig', 'ParentParentNodes', 'children.ini')
     
    }
    {let config_fields=array()
    		 fetch_sort=''
    		 fetch_direction=false()
    		 fetch_type=''
    		 fetch_class=array()
    		 fetch_hash=array()
    		 fetch_count_hash=array()
    		 attr_filter=array('and')
    		 ignore_params=array('year', 'month', 'day', 'offset')
    		 page_limit=ezpreference( 'page_limit' )
    		 page_suffix=''
    }
     
    {if $page_limit|not()}
    	{set $page_limit=ezini('KeZAdmin', 'DefaultPageLimit', 'kezadmin.ini')}
    {/if}
     
    {if $node.name|eq("Bandeaux d'accueil")}  
    		{set config_fields=ezini('ChildrenConfig_bandeaux', 'Fields', 'children.ini')}
    		{set fetch_sort=ezini('ChildrenConfig_bandeaux', 'FetchSort', 'children.ini')}
    		{set fetch_direction=ezini('ChildrenConfig_bandeaux', 'FetchSortDirection', 'children.ini')}
    		{set fetch_type=ezini('ChildrenConfig_bandeaux', 'FetchType', 'children.ini')}
    		{set fetch_class=ezini('ChildrenConfig_bandeaux', 'FetchClass', 'children.ini')}
    {elseif or(is_set($specific_nodes_config[$node.node_id]), is_set($specific_nodes_config[$node.parent.node_id]), is_set($specific_nodes_config[$node.parent.parent_node_id]))}
      {let specific_section=concat('ChildrenConfig_', first_set($specific_nodes_config[$node.node_id],$specific_nodes_config[$node.parent.node_id],$specific_nodes_config[$node.parent.parent_node_id]))}
    		{set config_fields=ezini($specific_section, 'Fields', 'children.ini')}
    		{set fetch_sort=ezini($specific_section, 'FetchSort', 'children.ini')}
    		{set fetch_direction=ezini($specific_section, 'FetchSortDirection', 'children.ini')}
    		{set fetch_type=ezini($specific_section, 'FetchType', 'children.ini')}
    		{set fetch_class=ezini($specific_section, 'FetchClass', 'children.ini')}
    	{/let}
    {else}
    	{set config_fields=ezini('ChildrenConfig_global', 'Fields', 'children.ini')}
    	{set fetch_sort=ezini('ChildrenConfig_global', 'FetchSort', 'children.ini')}
    	{set fetch_direction=ezini('ChildrenConfig_global', 'FetchSortDirection', 'children.ini')}
    	{set fetch_type=ezini('ChildrenConfig_global', 'FetchType', 'children.ini')}
    	{set fetch_class=ezini('ChildrenConfig_global', 'FetchClass', 'children.ini')}
    {/if}
    {set fetch_direction=$fetch_direction|eq('true')}
    <!-- Tri par dernière date de modification des éléments du dernier enfant -->
    {def $leveldispo=false()
    	 $sortm=''}
     
    {foreach $node.children as $child}
    	{if $child.children_count|gt(0)}
    		{set $leveldispo=true()}
    	{/if}		
    {/foreach}
    {if not($leveldispo)}
    	{set $sortm=array('modified',false())}
    {else}
      {set $sortm=array($fetch_sort, $fetch_direction)}
    {/if}	
    <!-- FIN -->

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 73
    Par défaut
    Ok je te remercie ça fonctionne exactement comme je veux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Problème type de données
    Par zoedawn9 dans le forum Access
    Réponses: 3
    Dernier message: 29/10/2013, 09h23
  2. Réponses: 4
    Dernier message: 21/02/2012, 15h36
  3. problème type de donnée heure et date
    Par nathantahiti dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 08/08/2011, 11h37
  4. Problème INSERT des donnée provenant d'un formulaire
    Par quentin74 dans le forum Langage
    Réponses: 10
    Dernier message: 04/07/2011, 10h36
  5. [Access-->MSSQL]Problème type de donnée booléen
    Par guigui11 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/06/2008, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo