Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-05-2009 18:29:18

supertino7
Membre
Date d'inscription: 21-02-2009
Messages: 113

[Zend Form] Champs Select depuis un fichier texte

Bonjour,

j'ai plusieurs formulaires avec des champs select, contenant des options susceptible d'être dynamiques ou modifiables par la suite. Je ne veux pas utiliser de base de données pour ces données là.

J'ai donc réfléchi à la solution de stocker ces données dans des fichiers textes ou ini, facilement éditables par la suite.

Par exemple, j'ai un champs select pour sélectionner un Pays.

J'ai crée un fichier pays.ini (par ex):

Code:

[pays]
France
Portugal
Espagne

dans ma classe de formulaire :

Code:

$config = new Zend_Config_Ini( APPLICATION_PATH . '/data/pays.ini', 'pays');
$liste = $config->toArray();
$this->addElement('select', 'inscription_pays',
            array('MultiOptions' => $liste,
            'required' => true,
            'label' => 'Pays'));

Le problème c'est que ça ne marche pas de cette manière là, je dois modifier le pays.ini comme suit :

Code:

France = France
Portugal = Portugal
Espagne = Espagne

ce qui reste assez rebarbatif hmm

Est ce qu'il existe une solution plus pratique pour charger des données d'un fichier texte avec notre cher framework ?

Je vous remercie d'avance pour vos réponses.

Dernière modification par supertino7 (19-05-2009 18:30:34)

Hors ligne

 

#2 19-05-2009 19:20:26

mdelanno
Membre
Lieu: Nord
Date d'inscription: 26-08-2007
Messages: 90
Site web

Re: [Zend Form] Champs Select depuis un fichier texte

La fonction file de PHP (http://fr.php.net/manual/fr/function.file.php) charge un fichier dans un tableau. Par contre, après il faut boucler sur le tableau pour en créer un nouveau ou les clés = les valeurs.
Pense à désactiver la traduction (si tu n'en as pas besoin et que tu as un grand tableau) pour améliorer les performances.

Hors ligne

 

#3 20-05-2009 11:22:33

supertino7
Membre
Date d'inscription: 21-02-2009
Messages: 113

Re: [Zend Form] Champs Select depuis un fichier texte

Bonjour, merci pour ton aide. smile

Il n'y a que la solution générique de php pour pouvoir lister le contenu d'un fichier, le ZF n'a pas prévu un package pour ?

Hors ligne

 

#4 29-07-2009 23:56:21

hollow971
Membre
Date d'inscription: 29-07-2009
Messages: 19

Re: [Zend Form] Champs Select depuis un fichier texte

salut, c'est un peu tard pour poster mais je suis nouveau.
Je crois avoir trouver la solution
https://www.zend.com/forums/index.php?t … 370bb39bdc

Hors ligne

 

#5 30-07-2009 09:16:06

itecman
Membre
Lieu: Orléans
Date d'inscription: 03-07-2009
Messages: 57

Re: [Zend Form] Champs Select depuis un fichier texte

Salut,

A titre personnel je serais resté sur l'utilisation du fichier ini, car déjà il y a le composant ZF Zend_Config pour le manipuler, et que ensuite tu as directement le tableau quand tu charges le ficher avec cet objet.
En ce moment j'utilise un fichier ini pour définir un menu avec un sous menu et je trouve ça assez pratique. Je n'ai plus qu'a changer mon fichier ini pour changer le menu de l'application.

Je ne vois pas top le coté rébarbatif. Par contre si ta liste doit contenir un liste de pays plus importante, un outil existe déjà. Tutoriel ici : http://wiip.fr/content/zend-framework-c … formulaire

Il montre comment mettre ne place une liste des pays en français avec Zend_Locale::getCountryTranslationList smile

Bye

--itecman


-- itecman smile

ZF 1.8.4 - Zend Server CE

Hors ligne

 

#6 31-07-2009 00:54:13

hollow971
Membre
Date d'inscription: 29-07-2009
Messages: 19

Re: [Zend Form] Champs Select depuis un fichier texte

227 pays RTU a metre dans ton .ini  big_smile

; element country
user.suscrib.elements.country.type = "select"
user.suscrib.elements.country.options.required = true
user.suscrib.elements.country.options.multioptions.211= "UNITED STATES OF AMERICA"
user.suscrib.elements.country.options.multioptions.210= "UNITED KINGDOM (Incl. N. Ireland)"
user.suscrib.elements.country.options.multioptions.76= "GERMANY"
user.suscrib.elements.country.options.multioptions.70= "FRANCE"
user.suscrib.elements.country.options.multioptions.100= "JAPAN"
user.suscrib.elements.country.options.multioptions.1= "AFGHANISTAN"
user.suscrib.elements.country.options.multioptions.2= "ALBANIA"
user.suscrib.elements.country.options.multioptions.3= "ALGERIA"

user.suscrib.elements.country.options.multioptions.4= "ANDORRA"
user.suscrib.elements.country.options.multioptions.5= "ANGOLA"
user.suscrib.elements.country.options.multioptions.6= "ANGUILLA"
user.suscrib.elements.country.options.multioptions.7= "ANTIGUA & BARBUDA"
user.suscrib.elements.country.options.multioptions.8= "ARGENTINA"
user.suscrib.elements.country.options.multioptions.9= "ARMENIA"
user.suscrib.elements.country.options.multioptions.10= "ARUBA"
user.suscrib.elements.country.options.multioptions.11= "AUSTRALIA"

user.suscrib.elements.country.options.multioptions.12= "AUSTRIA"
user.suscrib.elements.country.options.multioptions.13= "AZERBAIJAN"
user.suscrib.elements.country.options.multioptions.14= "BAHAMAS"
user.suscrib.elements.country.options.multioptions.15= "BAHRAIN"
user.suscrib.elements.country.options.multioptions.16= "BANGLADESH"
user.suscrib.elements.country.options.multioptions.17= "BARBADOS"
user.suscrib.elements.country.options.multioptions.18= "BELARUS"
user.suscrib.elements.country.options.multioptions.19= "BELGIUM"
user.suscrib.elements.country.options.multioptions.20= "BELIZE"

user.suscrib.elements.country.options.multioptions.21= "BENIN"
user.suscrib.elements.country.options.multioptions.22= "BERMUDA"
user.suscrib.elements.country.options.multioptions.23= "BHUTAN"
user.suscrib.elements.country.options.multioptions.24= "BOLIVIA"
user.suscrib.elements.country.options.multioptions.25= "BOSNIA-HERCEGOVINA"
user.suscrib.elements.country.options.multioptions.26= "BOTSWANA"
user.suscrib.elements.country.options.multioptions.27= "BRAZIL"
user.suscrib.elements.country.options.multioptions.28= "BRITISH INDIAN OCEAN TERRITORY"
user.suscrib.elements.country.options.multioptions.29= "BRITISH VIRGIN ISLANDS"

user.suscrib.elements.country.options.multioptions.30= "BRUNEI"
user.suscrib.elements.country.options.multioptions.31= "BULGARIA"
user.suscrib.elements.country.options.multioptions.32= "BURKINA FASO"
user.suscrib.elements.country.options.multioptions.33= "BURUNDI"
user.suscrib.elements.country.options.multioptions.34= "CAMBODIA"
user.suscrib.elements.country.options.multioptions.35= "CAMEROON"
user.suscrib.elements.country.options.multioptions.36= "CANADA"
user.suscrib.elements.country.options.multioptions.37= "CAPE VERDE"
user.suscrib.elements.country.options.multioptions.38= "CAYMAN ISLANDS"

user.suscrib.elements.country.options.multioptions.39= "CENTRAL AFRICAN REPUBLIC"
user.suscrib.elements.country.options.multioptions.40= "CHAD"
user.suscrib.elements.country.options.multioptions.41= "CHILE"
user.suscrib.elements.country.options.multioptions.42= "CHINA (MAINLAND)"
user.suscrib.elements.country.options.multioptions.44= "CHRISTMAS ISLAND (INDIAN OCEAN)"
user.suscrib.elements.country.options.multioptions.45= "COCOS (KEELING) ISLANDS"
user.suscrib.elements.country.options.multioptions.46= "COLOMBIA"
user.suscrib.elements.country.options.multioptions.47= "COMOROS"
user.suscrib.elements.country.options.multioptions.48= "CONGO"

user.suscrib.elements.country.options.multioptions.49= "COOK ISLANDS"
user.suscrib.elements.country.options.multioptions.50= "COSTA RICA"
user.suscrib.elements.country.options.multioptions.51= "CROATIA"
user.suscrib.elements.country.options.multioptions.52= "CYPRUS"
user.suscrib.elements.country.options.multioptions.53= "CZECH REPUBLIC"
user.suscrib.elements.country.options.multioptions.54= "DENMARK"
user.suscrib.elements.country.options.multioptions.55= "DJIBOUTI"
user.suscrib.elements.country.options.multioptions.56= "DOMINICA"
user.suscrib.elements.country.options.multioptions.57= "DOMINICAN REPUBLIC"

user.suscrib.elements.country.options.multioptions.58= "ECUADOR"
user.suscrib.elements.country.options.multioptions.59= "EGYPT"
user.suscrib.elements.country.options.multioptions.60= "EL SALVADOR"
user.suscrib.elements.country.options.multioptions.61= "EQUATORIAL GUINEA"
user.suscrib.elements.country.options.multioptions.62= "ERITREA"
user.suscrib.elements.country.options.multioptions.63= "ESTONIA"
user.suscrib.elements.country.options.multioptions.64= "ETHIOPIA"
user.suscrib.elements.country.options.multioptions.65= "FALKLAND ISLANDS"
user.suscrib.elements.country.options.multioptions.66= "FAROE ISLANDS"

user.suscrib.elements.country.options.multioptions.67= "FIJI"
user.suscrib.elements.country.options.multioptions.68= "FINLAND"
user.suscrib.elements.country.options.multioptions.69= "FR SOUTHERN & ANTARTIC LANDS"
user.suscrib.elements.country.options.multioptions.71= "FRENCH GUIANA"
user.suscrib.elements.country.options.multioptions.72= "FRENCH POLYNESIA"
user.suscrib.elements.country.options.multioptions.73= "GABON"
user.suscrib.elements.country.options.multioptions.74= "GAZA STRIP"
user.suscrib.elements.country.options.multioptions.75= "GEORGIA"

user.suscrib.elements.country.options.multioptions.77= "GHANA"
user.suscrib.elements.country.options.multioptions.78= "GIBRALTAR"
user.suscrib.elements.country.options.multioptions.79= "GREECE"
user.suscrib.elements.country.options.multioptions.80= "GREENLAND"
user.suscrib.elements.country.options.multioptions.81= "GRENADA"
user.suscrib.elements.country.options.multioptions.82= "GUADELOUPE"
user.suscrib.elements.country.options.multioptions.83= "GUATEMALA"
user.suscrib.elements.country.options.multioptions.84= "GUINEA"
user.suscrib.elements.country.options.multioptions.85= "GUINEA-BISSAU"

user.suscrib.elements.country.options.multioptions.86= "GUYANA"
user.suscrib.elements.country.options.multioptions.87= "HAITI"
user.suscrib.elements.country.options.multioptions.88= "HEARD AND MCDONALD ISLANDS"
user.suscrib.elements.country.options.multioptions.89= "HONDURAS"
user.suscrib.elements.country.options.multioptions.90= "HONG KONG"
user.suscrib.elements.country.options.multioptions.91= "HUNGARY"
user.suscrib.elements.country.options.multioptions.92= "ICELAND"
user.suscrib.elements.country.options.multioptions.93= "INDIA"
user.suscrib.elements.country.options.multioptions.94= "INDONESIA"

user.suscrib.elements.country.options.multioptions.96= "ISRAEL"
user.suscrib.elements.country.options.multioptions.97= "ITALY"
user.suscrib.elements.country.options.multioptions.98= "IVORY COAST"
user.suscrib.elements.country.options.multioptions.99= "JAMAICA"
user.suscrib.elements.country.options.multioptions.101= "JORDAN"
user.suscrib.elements.country.options.multioptions.102= "KAZAKHSTAN"
user.suscrib.elements.country.options.multioptions.103= "KENYA"
user.suscrib.elements.country.options.multioptions.104= "KIRIBATI"
user.suscrib.elements.country.options.multioptions.105= "KUWAIT"

user.suscrib.elements.country.options.multioptions.106= "KYRGYZSTAN"
user.suscrib.elements.country.options.multioptions.107= "LAOS"
user.suscrib.elements.country.options.multioptions.108= "LATVIA"
user.suscrib.elements.country.options.multioptions.109= "LEBANON"
user.suscrib.elements.country.options.multioptions.110= "LESOTHO"
user.suscrib.elements.country.options.multioptions.111= "LIBERIA"
user.suscrib.elements.country.options.multioptions.112= "LIECHTENSTEIN"
user.suscrib.elements.country.options.multioptions.113= "LITHUANIA"
user.suscrib.elements.country.options.multioptions.114= "LUXEMBOURG"

user.suscrib.elements.country.options.multioptions.115= "MACAO (MACAU)"
user.suscrib.elements.country.options.multioptions.116= "MACEDONIA (SKOPJE)"
user.suscrib.elements.country.options.multioptions.117= "MADAGASCAR (MALAGASY)"
user.suscrib.elements.country.options.multioptions.118= "MALAWI"
user.suscrib.elements.country.options.multioptions.119= "MALAYSIA"
user.suscrib.elements.country.options.multioptions.120= "MALDIVES"
user.suscrib.elements.country.options.multioptions.121= "MALI"
user.suscrib.elements.country.options.multioptions.122= "MALTA AND GOZO"
user.suscrib.elements.country.options.multioptions.123= "MARSHALL ISLANDS"

user.suscrib.elements.country.options.multioptions.124= "MARTINIQUE"
user.suscrib.elements.country.options.multioptions.125= "MAURITANIA"
user.suscrib.elements.country.options.multioptions.126= "MAURITIUS"
user.suscrib.elements.country.options.multioptions.127= "MEXICO"
user.suscrib.elements.country.options.multioptions.128= "MICRONESIA, FEDERATED STATES"
user.suscrib.elements.country.options.multioptions.129= "MOLDOVA"
user.suscrib.elements.country.options.multioptions.130= "MONACO"
user.suscrib.elements.country.options.multioptions.131= "MONGOLIA"
user.suscrib.elements.country.options.multioptions.132= "MONTENEGRO"

user.suscrib.elements.country.options.multioptions.133= "MONTSERRAT"
user.suscrib.elements.country.options.multioptions.134= "MOROCCO"
user.suscrib.elements.country.options.multioptions.135= "MOZAMBIQUE"
user.suscrib.elements.country.options.multioptions.136= "MYANMAR (BURMA)"
user.suscrib.elements.country.options.multioptions.137= "NAMIBIA"
user.suscrib.elements.country.options.multioptions.138= "NAURU"
user.suscrib.elements.country.options.multioptions.139= "NEPAL"
user.suscrib.elements.country.options.multioptions.140= "NETHERLANDS"
user.suscrib.elements.country.options.multioptions.141= "NETHERLANDS ANTILLES"

user.suscrib.elements.country.options.multioptions.142= "NEW CALEDONIA"
user.suscrib.elements.country.options.multioptions.143= "NEW ZEALAND"
user.suscrib.elements.country.options.multioptions.144= "NICARAGUA"
user.suscrib.elements.country.options.multioptions.145= "NIGER"
user.suscrib.elements.country.options.multioptions.146= "NIGERIA"
user.suscrib.elements.country.options.multioptions.147= "NIUE"
user.suscrib.elements.country.options.multioptions.148= "NORFOLK ISLAND"
user.suscrib.elements.country.options.multioptions.149= "NORTH KOREA"
user.suscrib.elements.country.options.multioptions.150= "NORWAY"

user.suscrib.elements.country.options.multioptions.151= "OMAN"
user.suscrib.elements.country.options.multioptions.152= "PAKISTAN"
user.suscrib.elements.country.options.multioptions.153= "PALAU"
user.suscrib.elements.country.options.multioptions.154= "PANAMA"
user.suscrib.elements.country.options.multioptions.155= "PAPUA NEW GUINEA"
user.suscrib.elements.country.options.multioptions.156= "PARAGUAY"
user.suscrib.elements.country.options.multioptions.157= "PERU"
user.suscrib.elements.country.options.multioptions.158= "PHILIPPINES"
user.suscrib.elements.country.options.multioptions.159= "PITCAIRN ISLAND"

user.suscrib.elements.country.options.multioptions.160= "POLAND"
user.suscrib.elements.country.options.multioptions.161= "PORTUGAL"
user.suscrib.elements.country.options.multioptions.162= "PUERTO RICO"
user.suscrib.elements.country.options.multioptions.163= "QATAR"
user.suscrib.elements.country.options.multioptions.95= "REPUBLIC OF IRELAND"
user.suscrib.elements.country.options.multioptions.165= "REUNION (ISLAND, FRENCH)"
user.suscrib.elements.country.options.multioptions.166= "ROMANIA"
user.suscrib.elements.country.options.multioptions.167= "RUSSIA"
user.suscrib.elements.country.options.multioptions.168= "RWANDA"

user.suscrib.elements.country.options.multioptions.169= "SAN MARINO"
user.suscrib.elements.country.options.multioptions.170= "SAO TOME AND PRINCIPE"
user.suscrib.elements.country.options.multioptions.171= "SAUDI ARABIA"
user.suscrib.elements.country.options.multioptions.172= "SENEGAL"
user.suscrib.elements.country.options.multioptions.173= "SERBIA"
user.suscrib.elements.country.options.multioptions.174= "SEYCHELLES"
user.suscrib.elements.country.options.multioptions.175= "SIERRA LEONE"
user.suscrib.elements.country.options.multioptions.176= "SINGAPORE"
user.suscrib.elements.country.options.multioptions.177= "SLOVAKIA"

user.suscrib.elements.country.options.multioptions.178= "SLOVENIA"
user.suscrib.elements.country.options.multioptions.179= "SOLOMON ISLANDS"
user.suscrib.elements.country.options.multioptions.180= "SOMALIA"
user.suscrib.elements.country.options.multioptions.164= "SOUTH AFRICA, REPUBLIC OF"
user.suscrib.elements.country.options.multioptions.181= "SOUTH KOREA"
user.suscrib.elements.country.options.multioptions.182= "SPAIN"
user.suscrib.elements.country.options.multioptions.183= "SRI LANKA"
user.suscrib.elements.country.options.multioptions.184= "ST CHRISTOPHER-NEVIS"
user.suscrib.elements.country.options.multioptions.185= "ST HELENA"

user.suscrib.elements.country.options.multioptions.186= "ST LUCIA"
user.suscrib.elements.country.options.multioptions.187= "ST PIERRE AND MIQUELON"
user.suscrib.elements.country.options.multioptions.188= "ST VINCENT AND THE GRENADINE"
user.suscrib.elements.country.options.multioptions.189= "SURINAME"
user.suscrib.elements.country.options.multioptions.190= "SVALBARD AND JAN MAYEN ISLAND"
user.suscrib.elements.country.options.multioptions.191= "SWAZILAND"
user.suscrib.elements.country.options.multioptions.192= "SWEDEN"
user.suscrib.elements.country.options.multioptions.193= "SWITZERLAND"
user.suscrib.elements.country.options.multioptions.43= "TAIWAN"

user.suscrib.elements.country.options.multioptions.194= "TAJIKISTAN"
user.suscrib.elements.country.options.multioptions.195= "TANZANIA"
user.suscrib.elements.country.options.multioptions.196= "THAILAND"
user.suscrib.elements.country.options.multioptions.197= "THE GAMBIA"
user.suscrib.elements.country.options.multioptions.198= "TOGO"
user.suscrib.elements.country.options.multioptions.199= "TOKELAU ISLANDS"
user.suscrib.elements.country.options.multioptions.200= "TONGA"
user.suscrib.elements.country.options.multioptions.201= "TRINIDAD AND TOBAGO"
user.suscrib.elements.country.options.multioptions.202= "TUNISIA"

user.suscrib.elements.country.options.multioptions.203= "TURKEY"
user.suscrib.elements.country.options.multioptions.204= "TURKMENISTAN"
user.suscrib.elements.country.options.multioptions.205= "TURKS AND CAICOS ISLANDS"
user.suscrib.elements.country.options.multioptions.206= "TUVALU"
user.suscrib.elements.country.options.multioptions.207= "UGANDA"
user.suscrib.elements.country.options.multioptions.208= "UKRAINE"
user.suscrib.elements.country.options.multioptions.209= "UNITED ARAB EMPIRATES"
user.suscrib.elements.country.options.multioptions.212= "URUGUAY"
user.suscrib.elements.country.options.multioptions.213= "UZBEKISTAN"

user.suscrib.elements.country.options.multioptions.214= "VANUATU"
user.suscrib.elements.country.options.multioptions.215= "VATICAN CITY"
user.suscrib.elements.country.options.multioptions.216= "VENEZUELA"
user.suscrib.elements.country.options.multioptions.217= "VIETNAM"
user.suscrib.elements.country.options.multioptions.218= "VIRGIN ISLAND OF THE US"
user.suscrib.elements.country.options.multioptions.219= "WALLIS AND FUTUNA"
user.suscrib.elements.country.options.multioptions.220= "WEST BANK"
user.suscrib.elements.country.options.multioptions.221= "WESTERN SAHARA"
user.suscrib.elements.country.options.multioptions.222= "WESTERN SAMOA"

user.suscrib.elements.country.options.multioptions.223= "YEMEN (SANA)"
user.suscrib.elements.country.options.multioptions.224= "YUGOSLAVIA"
user.suscrib.elements.country.options.multioptions.225= "ZAIRE"
user.suscrib.elements.country.options.multioptions.226= "ZAMBIA"
user.suscrib.elements.country.options.multioptions.227= "ZIMBABWE"
user.suscrib.elements.country.options.multioptions.0= "Other"

Dernière modification par hollow971 (31-07-2009 00:58:07)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages