cs_craso
Messages postés55Date d'inscriptionmardi 6 juin 2006StatutMembreDernière intervention20 janvier 2009 1 sept. 2006 à 20:13
bon alors je crois qu'il suffit de rajouter une condition (if(isset($this->blocs)):
function traitement($sous_blocs='non')
{
if (isset($this->blocs))
{
$fin_bloc=array_keys($this->blocs);
$i=0;
while(array_key_exists($i, $fin_bloc))
{
$j=$i-1;
if($j>-1 and $sous_blocs='sous_blocs')
{
$this->blocs[$fin_bloc[$i]]=preg_replace('!<\!--'.$fin_bloc[$j].'-->(.+)<\!--/'.$fin_bloc[$j].'-->!isU', $this->blocs[$fin_bloc[$j]], $this->blocs[$fin_bloc[$i]]);
}
$this->template=preg_replace('!<\!--'.$fin_bloc[$i].'-->(.+)<\!--/'.$fin_bloc[$i].'-->!isU', $this->blocs[$fin_bloc[$i]], $this->template);
$i++;
}
}
return $this->template;
}
ca devrait suffir
cs_craso
Messages postés55Date d'inscriptionmardi 6 juin 2006StatutMembreDernière intervention20 janvier 2009 1 sept. 2006 à 19:04
j'ai la même erreur que les autres.
Sinon c'est un script comme celui-là sur lequel je travaille en ce moment.
crevettegreg
Messages postés5Date d'inscriptiondimanche 19 octobre 2003StatutMembreDernière intervention29 janvier 2006 29 janv. 2006 à 17:10
Bonjour,
J'ai également l'erreur :
Warning: array_keys(): The first argument should be an array in d:\www\auc\site\templates.inc.php on line 100
Warning: array_key_exists(): The second argument should be either an array or an object in d:\www\auc\site\templates.inc.php on line 103
Avez vous une idée ?
Merci, car sinon, c'est plutot pas mal comme petite source
crevettegreg
Messages postés5Date d'inscriptiondimanche 19 octobre 2003StatutMembreDernière intervention29 janvier 2006 29 janv. 2006 à 17:09
Bonjour,
J'ai également l'erreur :
Warning: array_keys(): The first argument should be an array in d:\www\auc\site\templates.inc.php on line 100
Warning: array_key_exists(): The second argument should be either an array or an object in d:\www\auc\site\templates.inc.php on line 103
Avez vous une idée ?
Merci, car sinon, c'est plutot pas mal comme petite source ^^
Biboops
Messages postés2Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention29 janvier 2009 29 nov. 2005 à 17:43
Je n'est pas compris l'utilisation des sous bloc
Pourrais tu fournir un exemple
Merci
The_Template
Messages postés16Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention19 décembre 2005 22 nov. 2005 à 19:02
Je ne sais pas, c'est bizarre car moi ca marche très bien je m'en sers en ce moment même.
As tu fais $template->traitement(TRUE) ?
Si oui, l'erreur vient peut-être de là.
cseagle
Messages postés99Date d'inscriptionvendredi 18 avril 2003StatutMembreDernière intervention 5 août 2009 22 nov. 2005 à 12:46
Bonjour,
Je suis en train d'essayer d'utiliser ta classe et j'ai l'erreur suivante :
Warning: array_keys(): The first argument should be an array in d:\www\auc\site\templates.inc.php on line 100
Warning: array_key_exists(): The second argument should be either an array or an object in d:\www\auc\site\templates.inc.php on line 103
Alors que je n'utilise pas $template->bloc
Une idée ?
shoghi
Messages postés18Date d'inscriptionjeudi 19 septembre 2002StatutMembreDernière intervention18 septembre 2007 16 nov. 2005 à 22:03
Merci "The_Template" pour ta réponse. Je vais jeter un coup d'oeil sur ton fichier manuel.htm
@+
Shoghi
The_Template
Messages postés16Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention19 décembre 2005 16 nov. 2005 à 13:38
Lol je connais le css merci, le fichier html de 42ko est le code coloré avec un script php, qui ne produit qu'un fichier html avec des choses pas jolies genre style="", alors forcement, c'est lourd.
stepibou
Messages postés112Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention11 octobre 2006 15 nov. 2005 à 23:51
salut,
Je sais qu'on est là sur un site de php, mais quand je vois un fichier html de 42ko!,
je suis surpris! à quoi il sert?
pour augmenter les performance il faut utiliser des css :
padding, margin, clear, float, overflow, position, min-height, etc...
sinon pour le php, rien à redire,
a+
The_Template
Messages postés16Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention19 décembre 2005 15 nov. 2005 à 18:00
Bonjour.
Shosghi -> les templates servent à séparer le code php du html nottement dans le cadre d'un travail en équipe codeur/graphiste.
Si ca t'interresse j'ai détaillé un peu ca dans le manuel.htm (lol j'avais rien d'autre à faire^^)
Mozzito -> Non le code source html a été fait avec un script ^^
FhX -> Tu as raison poue le str_replace, j'avais commencé comme ca mais ca ne marchait pas (je n'ai toujours pas compris pourquoi, mon code avait l'air très correct) et ca m'as tellement pris la tête que j'ai mis un preg_replace. Pour la rapidité ca dépend en fait du nombre du foi que sera appelé le preg_replace car dans l'absolu un preg_replace est plus rapide qu'un str_replace.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 15 nov. 2005 à 12:32
"# //si oui, on la remplace par sa valeur
# $this->template=preg_replace('!{'.$variable.'}!', $valeur, $this->template);"
Beurk, question vitesse ca doit pas rouler sur l'or :p
La solution la plus simple est bien sur de tester si la pair clé/valeur est bon. Cependant, il ne faut pas tout de suite remplacé la clé par sa valeur.
Imagine que j'ai environ 60 variables. Tu imagines que je fasse 60 fois un preg_replace ?!
Nonon, le mieux à faire, est de garder ca en mémoire, dans le genre :
$this->var[$key] = $val;
Et ensuite, d'utiliser un simple $this->template = str_replace( array_keys($this->var), array_values($this->var), $this->template);
C'est plus rapide de faire un str_replace plutot que 60 fois un preg_replace, je me trompe ? ;)
shoghi
Messages postés18Date d'inscriptionjeudi 19 septembre 2002StatutMembreDernière intervention18 septembre 2007 15 nov. 2005 à 09:57
Bonjour, je suis débutant en php. Je remarque souvent que les templates sont utilisés. Pouvez-vous m'en dire en deux mots l'utilité?
Désolé si cette question vous semble peut-être bêbête.
Merci d'avance.
Shoghi
mozzito
Messages postés4Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention15 novembre 2005 15 nov. 2005 à 04:41
Je viens de le télécharger et tout fonctionne...
Ta classe à l'air correcte mais je me suis pas encore plongé dedans. ;P
Le fichier "Code_source.htm" à été construit avec un log, un script php, ou tout à la main :/ ?...
The_Template
Messages postés16Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention19 décembre 2005 14 nov. 2005 à 19:22
Apperement le Zip a buggé c'est pas du tout ca qu'il y a ......
1 sept. 2006 à 20:13
function traitement($sous_blocs='non')
{
if (isset($this->blocs))
{
$fin_bloc=array_keys($this->blocs);
$i=0;
while(array_key_exists($i, $fin_bloc))
{
$j=$i-1;
if($j>-1 and $sous_blocs='sous_blocs')
{
$this->blocs[$fin_bloc[$i]]=preg_replace('!<\!--'.$fin_bloc[$j].'-->(.+)<\!--/'.$fin_bloc[$j].'-->!isU', $this->blocs[$fin_bloc[$j]], $this->blocs[$fin_bloc[$i]]);
}
$this->template=preg_replace('!<\!--'.$fin_bloc[$i].'-->(.+)<\!--/'.$fin_bloc[$i].'-->!isU', $this->blocs[$fin_bloc[$i]], $this->template);
$i++;
}
}
return $this->template;
}
ca devrait suffir
1 sept. 2006 à 19:04
Sinon c'est un script comme celui-là sur lequel je travaille en ce moment.
29 janv. 2006 à 17:10
J'ai également l'erreur :
Warning: array_keys(): The first argument should be an array in d:\www\auc\site\templates.inc.php on line 100
Warning: array_key_exists(): The second argument should be either an array or an object in d:\www\auc\site\templates.inc.php on line 103
Avez vous une idée ?
Merci, car sinon, c'est plutot pas mal comme petite source
29 janv. 2006 à 17:09
J'ai également l'erreur :
Warning: array_keys(): The first argument should be an array in d:\www\auc\site\templates.inc.php on line 100
Warning: array_key_exists(): The second argument should be either an array or an object in d:\www\auc\site\templates.inc.php on line 103
Avez vous une idée ?
Merci, car sinon, c'est plutot pas mal comme petite source ^^
29 nov. 2005 à 17:43
Pourrais tu fournir un exemple
Merci
22 nov. 2005 à 19:02
As tu fais $template->traitement(TRUE) ?
Si oui, l'erreur vient peut-être de là.
22 nov. 2005 à 12:46
Je suis en train d'essayer d'utiliser ta classe et j'ai l'erreur suivante :
Warning: array_keys(): The first argument should be an array in d:\www\auc\site\templates.inc.php on line 100
Warning: array_key_exists(): The second argument should be either an array or an object in d:\www\auc\site\templates.inc.php on line 103
Alors que je n'utilise pas $template->bloc
Une idée ?
16 nov. 2005 à 22:03
@+
Shoghi
16 nov. 2005 à 13:38
15 nov. 2005 à 23:51
Je sais qu'on est là sur un site de php, mais quand je vois un fichier html de 42ko!,
je suis surpris! à quoi il sert?
pour augmenter les performance il faut utiliser des css :
padding, margin, clear, float, overflow, position, min-height, etc...
sinon pour le php, rien à redire,
a+
15 nov. 2005 à 18:00
Shosghi -> les templates servent à séparer le code php du html nottement dans le cadre d'un travail en équipe codeur/graphiste.
Si ca t'interresse j'ai détaillé un peu ca dans le manuel.htm (lol j'avais rien d'autre à faire^^)
Mozzito -> Non le code source html a été fait avec un script ^^
FhX -> Tu as raison poue le str_replace, j'avais commencé comme ca mais ca ne marchait pas (je n'ai toujours pas compris pourquoi, mon code avait l'air très correct) et ca m'as tellement pris la tête que j'ai mis un preg_replace. Pour la rapidité ca dépend en fait du nombre du foi que sera appelé le preg_replace car dans l'absolu un preg_replace est plus rapide qu'un str_replace.
15 nov. 2005 à 12:32
# $this->template=preg_replace('!{'.$variable.'}!', $valeur, $this->template);"
Beurk, question vitesse ca doit pas rouler sur l'or :p
La solution la plus simple est bien sur de tester si la pair clé/valeur est bon. Cependant, il ne faut pas tout de suite remplacé la clé par sa valeur.
Imagine que j'ai environ 60 variables. Tu imagines que je fasse 60 fois un preg_replace ?!
Nonon, le mieux à faire, est de garder ca en mémoire, dans le genre :
$this->var[$key] = $val;
Et ensuite, d'utiliser un simple $this->template = str_replace( array_keys($this->var), array_values($this->var), $this->template);
C'est plus rapide de faire un str_replace plutot que 60 fois un preg_replace, je me trompe ? ;)
15 nov. 2005 à 09:57
Désolé si cette question vous semble peut-être bêbête.
Merci d'avance.
Shoghi
15 nov. 2005 à 04:41
Ta classe à l'air correcte mais je me suis pas encore plongé dedans. ;P
Le fichier "Code_source.htm" à été construit avec un log, un script php, ou tout à la main :/ ?...
14 nov. 2005 à 19:22