THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


OUPS, je l'avais oublié. Bien vu. Maintenant ça marche.

Et du coup, ce nouveau parseur me règle les bugs que j'avais à cause de boucles conditionnelles qui plantaient le moteur.

SUPER. MERCI Roadster31.

PS1 : je te suggère d'apporter cette modif peu coûteuse à ton plugin, pour les nombreux utilisateur de SPIP et THELIA.
PS2 : moi aussi je suis sur Toulouse


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


PS1 : je te suggère d'apporter cette modif peu coûteuse à ton plugin, pour les nombreux utilisateur de SPIP et THELIA.

Bonne idée.

PS2 : moi aussi je suis sur Toulouse

J'ai cru comprendre au vu des deux chiffres qui terminent ton pseudo.

On pourrait peut être se faire une bouffe Thelia à Toulouse un de ces quatre


OpenStudio Toulouse

Offline


roadster31 wrote:

On pourrait peut être se faire une bouffe Thelia à Toulouse un de ces quatre

Excellente idée. Quand tu veux.

Tout comme les apéros SPIP de Toulouse.


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


Je vous propose la version 1.0 RC5 de ce parseur, qui règle les problèmes de grossissement exagéré du cache, ainsi que les conflits de classe avec Spip décrits ci-dessus.

Pas de nouvelles fonctionnalités, donc, mais une fiabilisation du code.

Le fonctionnement du cache est maintenant basé sur une durée de vie des fichiers. Par défaut, un fichier en cache à une durée de vie de 24h.

Un examen du cache est effectué régulièrement, toutes les deux heures par défaut. Ceci permet d'éliminer toutes les deux heures du cache les fichiers qui n'ont pas été accédés depuis 24h.

Vous pouvez ajuster ces deux paramètres en fonction de la fréquentation de votre site, sachant que:
- un examen du cache prend un peu de temps (enfin, quelques dixièmes de seconde...)
- cet examen est d'autant plus long que la durée de vie des fichiers est élevée.

Enfin, la date d'expiration d'un fichier est réinitialisée à chaque accès, ce qui fait que les fichiers les plus souvent accédés (page d'accueil, pages rubriques, etc.) on de grandes de chance de rester indéfiniment en cache.

Ce nouveau parser est ici.

Pour l'installer, vous devez:
1) désactiver la version précédente,
2) installer la nouvelle version,
3) activer la dernière version.

Comme d'hab', vos retours de bugs sont les bienvenus.

Last edited by roadster31 (18-10-2010 14:02:15)


OpenStudio Toulouse

Offline


Bonjour Roadster

Je me permets une question déviant un peu du sujet (quoi que) mais je pense que ta connaissance du parseur peut m'éclairer.

Un exemple pour illustrer ma question. J'ai cette boucle (que j'ai largement simplifiée) dans un panier.html :

<THELIA_CONTENU_PANIER type="PANIER">

	// ici le THELIA-ID retourné est correct (c'est normal)

	<THELIA_decval type="DECVAL" article="THELIA-ARTICLE" ref="THELIA-REF">

		// Ici le THELIA-ID n'est plus correct
		// et comme je l'appelle en input de la boucle en dessous. Cela ne marche pas.

		<THELIA_STOCK2 type="STOCK" article="THELIA-ARTICLE" produit="THELIA-ID" declidisp="THELIA-DECLIDISP">
		        // ...
		</THELIA_STOCK2>

	</THELIA_decval>
// ...

Apparemment, les outputs d'une boucle A sont effacés à l'intérieur d'une boucle B appelée par A.
Dans mon exemple, le THELIA-ID appelé en input de la boucle THELIA_STOCK2 vaut "#ID".

Je souhaite simplement savoir si c'est un fonctionnement normal de THELIA ?


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


Je souhaite simplement savoir si c'est un fonctionnement normal de THELIA ?

Oui, absolument.


OpenStudio Toulouse

Offline


Ah cela me semble étrange car j'ai repris le corps de cette boucle, ici même dans un autre sujet de ce forum, que je ne retrouve plus.

Mais ce comportement de THELIA est handicapant.
Pour reprendre mon exemple, je ne sais pas comment faire. Mais c'est un autre sujet.

Sur SPIP, les données de sorties sont valables à l'intérieur de la boucle, y compris à l'intérieur des boucles imbriquées. C'est un fonctionnement logique.

A part modifier boucles.php, comment puis-je m'en sortir ?


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


Un an (déjà ?!) après la sortie de la toute première version de ce parseur, voici la 1.0 RC7, qui offre quelques nouveautés. Il s'agit de fonctions qui devraient faciliter la tache des rédacteurs de templates qui se sentent un peu à l'étroit dans les boucles de base.

Au menu: des vraies variables, avec #SET, #GET et #ENV (les spipeurs apprécieront), une boucle <REPETER_nom>...</REPETER_nom>, des commentaires Thelia avec <REM>...</REM>, un compteur dans toutes vos boucles avec #__COMPTEUR__, et d'autres bricoles.

Avec, toujours, la compatibilité avec le parseur de base de Thelia.

En détail (je vous épargne les points 1 à 6):

7) Il offre une nouvelle boucle REPETER:

    <REPETER_nom_boucle debut="nombre" fin="nombre" increment="nombre">
        texte a repeter
    <//REPETER_nom_boucle>

    debut (optionnnel, défaut: 1) est le numéro de la première itération
    fin (obligatoire) est le numéro de la dernière iteration
    increment (optionnnel, défaut: 1) indique l'incrémentation du compteur d'itération à chaque tour.

    La boucle fournit la variable #INDEX, qui retourne le compteur courant.

    Exemple:

    <REPETER_loopy debut="1" fin="5" pas="2">
    	Iteration: #INDEX<br />
    </REPETER_loopy>

    Affiche:

    1
    3
    5

8) Il propose une variable #__COMPTEUR__ dans chacune des boucles. Cette variable
   retourne le nombre courant d'itérations.

9) Il permet de définir et d'utiliser des variables dans vos templates, à l'aide
   des balises #SET{}, #GET{} et #ENV, à la mode Spip. Ces variables sont utilisables
   dans les boucles, et dans les paramètres des boucles.

   La balise #SET définit une variable qui sera utilisable dans l'ensemble du template.
   La balise #GET permet ensuite de récupérer cette variable.
   La balise #ENV permet de récupérer une variable passée dans l'URL de la page

      #SET{ma_chaine, article de #NOM}

      #GET{ma_chaine} affichera, si #NOM vaut Toto :

         article de Toto

      #ENV{param} affichera, l'URL de la page est http://www.monsite.fr/index.php?param=bonjour :

         bonjour

   Les valeurs retournées par #ENV sont purgées des tags HTML qu'elle peuvent contenir. Par exemple,
   si l'URL de la page est http://www.monsite.fr/index.php?param=<b>bonjour</b><script src="un_script_dangereux.js"></script>,
   #ENV{param} retourne 'bonjour'

   * Valeurs par défaut:

   Si variable n'a pas été définie par un #SET{variable, valeur} préalable, il est possible
   de préciser une valeur par défaut lors de l'insertion de la balise #GET:

       #GET{variable, valeur_par_defaut} retournera "valeur_par_defaut" si "variable"
       n'a pas été définie auparavant.

   Attention: cette méthode n'attribue pas "valeur_par_defaut" à "variable".

   De même, si l'URL ne définit par le parametre demandé dans la balise #ENV, une
   valeur par défaut peut être retournée:

	   #ENV{parametre, valeur_par_defaut}

   * Portée des variables:

   La portée d'un SET est le template complet, y compris les fichiers qui y sont inclus. La valeur
   d'une variable définie par un SET dans un fichier inclu peut donc être récupérée par
   le GET correspondant dans le fichier incluant.

   Le parseur évalue les filtres lorsqu'il calcule la valeur des variables, vous pouvez donc les
   utiliser dans les valeurs (#SET), ou les valeurs par défaut (#GET, #ENV).

10) Il permet de positionner les headers HTTP avec la directive #HEADER{en_tete}, par exemple:

      #HEADER{Content-Type: text/html; charset=iso-8859-1}

   Cette directive est utile par exemple lorsque qu'un template est chargé par Ajax

11) Il permet d'insérer des commentaires dans vos templates, ou de commenter du code
   Thelia:

      <REM>votre commentaire</REM>

  Vous pouvez aussi mettre du code Thelia en commentaire. Ce code ne sera pas exécuté:

     <REM>
  	    <THELIA_maboucle type="x" ...>
  	    ...
  	    </THELIA_maboucle>
     </REM>

Pour télécharger cette nouvelle version, rendez-vous sur Ergonoshop.

Je remercie chaleureusement Bruno31 pour ses bonnes idées et son aide à la mise au point.

Last edited by roadster31 (09-11-2010 10:32:07)


OpenStudio Toulouse

Offline


Un grand MERCI à Roadster pour ce plugin indispensable.

J'invite tous les développeurs à regarder très sérieusement les nouvelles fonctionnalités offertes par ce plugin car elles permettent de réaliser des choses jusqu'alors impossibles, d'optimiser les squelettes en performance, en lisibilité et de factoriser du code.

Quelques exemples d'utilisation du SET et GET :
- lecture des caractéristiques d'un produit au début du squelette, une seule fois. Plus besoin d'appeler la boucle à chq fois que l'on a besoin de la caractéristique,
- les outputs des boucles qui deviennent invisibles hors des boucles. Hop un coup de SET/GET et elles deviennent accessibles partout.
- suppression des imbrications multiples de boucles.
- etc etc.


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


Je fais un test sur une boucle vid ou pas vide et je me demande si la syntaxe est bonne car cela me semble compliqué (pour info le test fonctionne)

<THELIA_CONTENU type="CONTENU"  id="#CONTENU_ID">
 <THELIA_image type="IMAGE" contenu="#ID">
               <THELIA_test test="vide"  variable="#IMAGE"> </THELIA_test>
                 <THELIA_image type="IMAGE" contenu="#ID" largeur="255">
                      <img src="#IMAGE"  />
                  </THELIA_image>
               <//THELIA_test>
   </THELIA_image>
</THELIA_CONTENU>

Ce test m'affiche bien une image associé au contenu si il y a une image et pas d'image si il n'y a pas d'image associé au contenu, mais n'y a t'il pas plus simple ?

Merci


web creation : développement & création web
Thélia plugin

Offline


Si,

<T_image> 
<THELIA_image type="IMAGE" contenu="#CONTENU_ID"  largeur="255">
      <img src="#IMAGE"  />
</THELIA_image>
</T_image>
<//T_image>

Alfouine


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Effectivement ! bien plus simple et plus propre, je m'en souviendrai
Merci Alfouine


web creation : développement & création web
Thélia plugin

Offline


Bonjour,
Sur THELIA fraichement mis à jour en 1.4.3.1 et installation du plugin V1.ORC7, j'ai le message :

ATTENTION: le parseur ne peut accéder au répertoire de cache.
Pour résoudre ce problème, veuillez autoriser l'écriture sur le répertoire /home/alain/Bureau/site_golias/autre/client/cache (0777).

Bien que le dossier soit bien : drwxrwxrwx

Je travaille en local sous ubuntu 9.4 php/5.26.3ubuntu.4.6 et avec le plugin SPIP-THELIA

Que faire ?
Merci Alain BOURDEAU

Last edited by alain_bron (14-11-2010 12:31:33)

Offline


Que se passe-t-il si tu crée manuellement le répertoire /home/alain/Bureau/site_golias/autre/client/cache/parser ?


OpenStudio Toulouse

Offline


Bonjour,
Bingo, cà ouvre bien la page de mise en route.

Bravo pour la réactivité.
Amicalement Alain BOURDEAU

Offline


Il y a quand même un bug lors de l'activation du parser. La version 1.0 RC8 corrige ce bug.


OpenStudio Toulouse

Offline


Bonjour,

Je viens de faire la mise à jour du plugin THELIA dans SPIP et la fenêtre : associer un produit à l’article ne me présente plus que 2 lignes la première avec un carré de sélection et le titre #TITRE et la deuxième avec uniquement #TITRE.

C’est bien gênant pour les mises à jour.

Y aurai-t-il une incompatibilité avec le plugin de thélia : parseur amélioré ?
Oui il y a problème car aprés avoir désactivé le plugin V1 ORC8 dans thélia, c'est redevenu 'normal'.

Probablement à plus

Offline


la fenêtre : associer un produit à l’article

je ne suis pas sur de comprendre de quoi tu parles. Quoi qu'il en soit, je suis preneur du code de cette page, histoire de comprendre d'où vient le problème.


OpenStudio Toulouse

Offline


Bonjour,
C'est dans la partie gestion des articles dans SPIP:
Je t'envoi par mail l'image de ce que j'ai si ça marche (excuse, je ne sais pas comment mettre des images dans ce forum).
Ou se trouve le détail du code initial du plugin SPIP-THELIA pour le BO SPIP, avant traitement par SPIP?
A plus

Offline


Merci. Donne moi le code du squelette dans lequel le problème arrive


OpenStudio Toulouse

Offline


C'est dans le fichier :
plugin/auto/plugin-thelia/fonds/produits_associes_articles.html

Ci dessous

#CACHE{0}

<!-- fond_produits_associes.html -->

<div class="spip_boutons" style="float: right;">

	<input type="submit" value="<:spipthelia:mettre_a_jour:>" />

</div>



<ul class="produits-articles">

<THELIA_produitsniveau0 type="PRODUIT" rubrique="0" profondeur="1">

		<li>[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{' ',''})

			<input type="checkbox" id="produit-THELIA-ID" name="produit-THELIA-ID" /><label for="produit-THELIA-ID">THELIA-TITRE</label>

		]

		[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{'',' '})

			THELIA-TITRE

		]</li>

		

</THELIA_produitsniveau0>

	

<THELIA_rubriquesniveau1 type="RUBRIQUE" parent="0">



<li>

	[(#CONFIG{spip_thelia/rubriques_articles_spip_thelia}|=={"oui"}|?{' ',''})

		<input type="checkbox" id="rubriquethelia-THELIA-ID" name="rubriquethelia-THELIA-ID" /><label for="rubriquethelia-THELIA-ID">THELIA-TITRE</label>

	]

	[(#CONFIG{spip_thelia/rubriques_articles_spip_thelia}|=={"oui"}|?{'',' '})

		THELIA-TITRE

	]

	<ul>

	<THELIA_produitsniveau1 type="PRODUIT" rubrique="THELIA-ID" profondeur="1">

		<li>[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{' ',''})

			<input type="checkbox" id="produit-THELIA-ID" name="produit-THELIA-ID" /><label for="produit-THELIA-ID">THELIA-TITRE</label>

		]

		[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{'',' '})

			THELIA-TITRE

		]</li>

	</THELIA_produitsniveau1>

	<THELIA_rubriquesniveau2 type="RUBRIQUE" parent="THELIA-ID">

		<li>	

			[(#CONFIG{spip_thelia/rubriques_articles_spip_thelia}|=={"oui"}|?{' ',''})

				<input type="checkbox" id="rubriquethelia-THELIA-ID" name="rubriquethelia-THELIA-ID" /><label for="rubriquethelia-THELIA-ID">THELIA-TITRE</label>

			]

			[(#CONFIG{spip_thelia/rubriques_articles_spip_thelia}|=={"oui"}|?{'',' '})

				THELIA-TITRE

			]

			<ul>

			<THELIA_produitsniveau2 type="PRODUIT" rubrique="THELIA-ID" profondeur="1">

				<li>

					[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{' ',''})

						<input type="checkbox" id="produit-THELIA-ID" name="produit-THELIA-ID" /><label for="produit-THELIA-ID">THELIA-TITRE</label>

					]

					[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{'',' '})

						THELIA-TITRE

					]

				</li>

			</THELIA_produitsniveau2>

			<THELIA_rubriquesniveau3 type="RUBRIQUE" parent="THELIA-ID">

				<li>

					[(#CONFIG{spip_thelia/rubriques_articles_spip_thelia}|=={"oui"}|?{' ',''})

						<input type="checkbox" id="rubriquethelia-THELIA-ID" name="rubriquethelia-THELIA-ID" /><label for="rubriquethelia-THELIA-ID">THELIA-TITRE</label>

					]

					[(#CONFIG{spip_thelia/rubriques_articles_spip_thelia}|=={"oui"}|?{'',' '})

						THELIA-TITRE

					]



					<ul>

					<THELIA_produitsniveau3 type="PRODUIT" rubrique="THELIA-ID" profondeur="1">

						<li>

						[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{' ',''})

							<input type="checkbox" id="produit-THELIA-ID" name="produit-THELIA-ID" /><label for="produit-THELIA-ID">THELIA-TITRE</label>

						]

						[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{'',' '})

							THELIA-TITRE

						]

						</li>

					</THELIA_produitsniveau3>

					<THELIA_rubriquesniveau4 type="RUBRIQUE" parent="THELIA-ID">

						<li>

							[(#CONFIG{spip_thelia/rubriques_articles_spip_thelia}|=={"oui"}|?{' ',''})

								<input type="checkbox" id="rubriquethelia-THELIA-ID" name="rubriquethelia-THELIA-ID" /><label for="rubriquethelia-THELIA-ID">THELIA-TITRE</label>

							]

							[(#CONFIG{spip_thelia/rubriques_articles_spip_thelia}|=={"oui"}|?{'',' '})

								THELIA-TITRE

							]

							<ul>

							<THELIA_produitsniveau4 type="PRODUIT" rubrique="THELIA-ID" profondeur="1">

								<li>

									[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{' ',''})

										<input type="checkbox" id="produit-THELIA-ID" name="produit-THELIA-ID" /><label for="produit-THELIA-ID">THELIA-TITRE</label>

									]

									[(#CONFIG{spip_thelia/produits_articles_spip_thelia}|=={"oui"}|?{'',' '})

										THELIA-TITRE

									]</li></THELIA_produitsniveau4>

							</ul>

						</li>

					</THELIA_rubriquesniveau4>

					</ul>

				</li>

			

			</THELIA_rubriquesniveau3>

			</ul>

		</li>

	</THELIA_rubriquesniveau2>

	</ul>

</li>



</THELIA_rubriquesniveau1>

</ul>

<script type="text/javascript">

	$(document).ready(function(){

		

		$('.produits-articles li ul').before("<span class='deplier-liste' style='cursor:pointer; color: #F60; font-size: .9em;'>[+]</span>");

		

		$('.produits-articles li ul').hide();

		<BOUCLE_associationsrubriques(RUBRIQUESTHELIA_ARTICLES){id_article}>

			$('#rubriquethelia-#ID_RUBRIQUETHELIA').attr('checked', 'checked');

			$('#rubriquethelia-#ID_RUBRIQUETHELIA').parents('ul').show().prev().html('[-]');

		</BOUCLE_associationsrubriques>

	

		<BOUCLE_associationsarticles(PRODUITS_ARTICLES){id_article}>

			$('#produit-#ID_PRODUIT').attr('checked', 'checked');

			$('#produit-#ID_PRODUIT').parents('ul').show().prev().html('[-]');

		</BOUCLE_associationsarticles>

		

		$('.produits-articles li span').toggle(function(){

			$(this).next().show();

			$(this).html('[-]');

			return false;

		},

		function(){

			$(this).next().hide();

			$(this).html('[+]');

			return false;

		});

		

	});

</script>

<div class="spip_boutons" style="float: right;">

	<input type="submit" value="<:spipthelia:mettre_a_jour:>" />

</div>



 <br/>

Si c'est bien la.

Offline


Merci.

Puis-je te demander de réactiver temporairement le plugin parseur, d'afficher la page qui pose problème dans ton navigateur, et de me transmettre le code HTML (clic-droit -> "code source de la page" ou clic-droit -> "afficher la source", et copier/coller tout le code HTML).


OpenStudio Toulouse

Offline


Merci pour la vitesse, (je vais aller dormir aprés ce message)
J'ai sélectionné la zone qui me semble poser problème, car c'est trop gros pour tout mettre.
S'il le faut, je te le joint directement sur ton courriel perso.

%2F%3Fexec%3Darticles%26amp%3Bid_article%3D4577'>

<input name="exec" value="articles" type="hidden" />
<input name="action" value="produits_article" type="hidden" />
<input name="arg" value="4577" type="hidden" />
<input name="hash" value="6326e670a900b436376dcb0d249e60223a70b97c" type="hidden" />
<input name="redirect" value="http://www.golias-editions.fr/ecrire/?exec=articles&id_article=4577" type="hidden" /><!-- fond_produits_associes.html -->
<div class="spip_boutons" style="float: right;">
	<input type="submit" value="Mettre à jour" />
</div>

<ul class="produits-articles">
<THELIA_produitsniveau0 type="PRODUIT" rubrique="0" profondeur="1">
		<li> 
			<input type="checkbox" id="produit-#ID" name="produit-#ID" /><label for="produit-#ID">#TITRE</label>
		
		</li>

		
</THELIA_produitsniveau0>
	
<THELIA_rubriquesniveau1 type="RUBRIQUE" parent="0">

<li>
	
	 
		#TITRE
	
	<ul>
	<THELIA_produitsniveau1 type="PRODUIT" rubrique="#ID" profondeur="1">
		<li> 
			<input type="checkbox" id="produit-#ID" name="produit-#ID" /><label for="produit-#ID">#TITRE</label>
		
		</li>

	</THELIA_produitsniveau1>
	<THELIA_rubriquesniveau2 type="RUBRIQUE" parent="#ID">
		<li>	
			
			 
				#TITRE
			
			<ul>
			<THELIA_produitsniveau2 type="PRODUIT" rubrique="#ID" profondeur="1">
				<li>
					 
						<input type="checkbox" id="produit-#ID" name="produit-#ID" /><label for="produit-#ID">#TITRE</label>
					
					
				</li>

			</THELIA_produitsniveau2>
			<THELIA_rubriquesniveau3 type="RUBRIQUE" parent="#ID">
				<li>
					
					 
						#TITRE
					

					<ul>
					<THELIA_produitsniveau3 type="PRODUIT" rubrique="#ID" profondeur="1">
						<li>
						 
							<input type="checkbox" id="produit-#ID" name="produit-#ID" /><label for="produit-#ID">#TITRE</label>
						
						
						</li>

					</THELIA_produitsniveau3>
					<THELIA_rubriquesniveau4 type="RUBRIQUE" parent="#ID">
						<li>
							
							 
								#TITRE
							
							<ul>
							<THELIA_produitsniveau4 type="PRODUIT" rubrique="#ID" profondeur="1">
								<li>
									 
										<input type="checkbox" id="produit-#ID" name="produit-#ID" /><label for="produit-#ID">#TITRE</label>
									
									</li></THELIA_produitsniveau4>

							</ul>
						</li>
					</THELIA_rubriquesniveau4>
					</ul>
				</li>
			
			</THELIA_rubriquesniveau3>
			</ul>
		</li>
	</THELIA_rubriquesniveau2>

	</ul>
</li>

</THELIA_rubriquesniveau1>
</ul>
<script type="text/javascript">
	$(document).ready(function(){
		
		$('.produits-articles li ul').before("<span class='deplier-liste' style='cursor:pointer; color: #F60; font-size: .9em;'>[+]</span>");
		
		$('.produits-articles li ul').hide();
		
	
		
			$('#produit-407').attr('checked', 'checked');
			$('#produit-407').parents('ul').show().prev().html('[-]');
		
		
		$('.produits-articles li span').toggle(function(){
			$(this).next().show();
			$(this).html('[-]');
			return false;
		},
		function(){
			$(this).next().hide();
			$(this).html('[+]');
			return false;
		});
		
	});
</script>
<div class="spip_boutons" style="float: right;">
	<input type="submit" value="Mettre à jour" />
</div>

 <br/>
</form>
<div class='nettoyeur'></div>
</div><div class='nettoyeur'></div></div></div>

</div><br/><div class='nettoyeur'></div></div><div id='voir' class='tabs-container'><div id='wysiwyg'><!-- contenus article -->

<div class="champ contenu_surtitre vide">
<div class='label'>Sur-titre</div>
<div dir='ltr' class='surtitre'></div>
</div>
<div class="champ contenu_titre">
<div class='label'>Titre :</div>
<div dir='ltr' class='titre'>158. GOLIAS Hebdo numéro 158</div>
</div>
<div class="champ contenu_soustitre vide">
<div class='label'>Sous-titre</div>
<div dir='ltr' class='soustitre'></div>

</div>
<div class="champ contenu_descriptif vide">
<div class='label'>Descriptif :</div>
<div dir='ltr' class='descriptif'></div>
</div>
<div class="champ contenu_chapo vide">
<div class='label'>Chapeau</div>
<div dir='ltr' class='chapo'></div>
</div>
<div class="champ contenu_nom_site vide">
<div class='label'>VOIR EN LIGNE :</div>
<div dir='ltr' class='nom_site'></div>
</div>
<div class="champ contenu_texte vide">

<div class='label'>Texte</div>
<div dir='ltr' class='texte'></div>
</div>
<div class="champ contenu_ps vide">
<div class='label'>Post-Scriptum</div>
<div dir='ltr' class='ps'></div>
</div></div><div class='bandeau_actions'><a style='float: right; ' class='icone36 article-24'
href='http://www.golias-editions.fr/ecrire/?exec=articles_edit&id_article=4577'><span>Modifier cet article</span></a>
</div><div class='nettoyeur'></div></div><div id='docs' class='tabs-container'><div id='portfolio'></div><br /><div id='documents'></div>
<table width='100%' cellpadding='0' cellspacing='0' border='0'>
<tr><td> </td><td style='text-align: left;width: 50%;'>

<form action='http://www.golias-editions.fr/ecrire/?exec=articles' enctype='multipart/form-data' class='form_upload' method='post' style='margin: 0px; border: 0px'>
<div>
<input type='hidden' name='action' value='joindre' />

<div class='joindre'><a id='access-k' href='#access-k' accesskey='k'></a>
<div class='cadre cadre-r' style=''><div id='b51fbfc85' class='titrem replie' onmouseover="jQuery(this).depliant('#ftp_document_0');"><a href='#' onclick="return jQuery(this).depliant_clicancre('#ftp_document_0');" class='titremancre'></a>JOINDRE UN DOCUMENT</div><div class='cadre_padding'><input type='hidden' name='iframe_redirect' value='http%3A%2F%2Fwww.golias-editions.fr%2Fecrire%2F%3Fexec%3Ddocumenter%26id_article%3D4577%26type%3Darticle' />
Télécharger depuis votre ordinateur :<input name='fichier' id='fichier_document_0' type='file' class='forml spip_xx-small' size='15' />
		<div style='text-align: right'><input name='sousaction1' type='submit' value='Télécharger' /></div><div id='ftp_document_0' class='bloc_depliable blocreplie'>
<div style='color: #505050;'><label for='cheminupload'>Vous pouvez sélectionner un fichier du dossier <b>tmp/upload/</b></label> :<br />

<select name='chemin' id='cheminupload' size='1' style='width:100%;overflow:hidden;'><option value=''>>></option>

<option value="/" style='font-weight: bold;'>Installer tous les documents</option>
<option value="PubHebdo.pdf">  PubHebdo.pdf</option>
<option value="golias_hebdo87.pdf">  golias_hebdo87.pdf</option>
<option value="golias_hebdo88.pdf">  golias_hebdo88.pdf</option>
<option value="golias_hebdo89.pdf">  golias_hebdo89.pdf</option>
<option value="golias_hebdo90.pdf">  golias_hebdo90.pdf</option>
</select>
<div style='text-align: right'><input name='sousaction3' type='submit' value='Choisir' /></div></div>
<br />
<div style='border: 1px #303030 solid; padding: 4px; color: #505050;'>
	<img src='../prive/images/attachment.gif' style='float: right;' alt="" />

<label for='url'>Référencer un document sur l'internet :</label><br />
	<input name='url' id='url' value='http://' />
	<div style='text-align: right'><input name='sousaction2' type='submit' value='Choisir' /></div>
</div>
	<div class='nettoyeur'></div>
</div><div class='nettoyeur'></div></div></div>
</div>

		<input name='redirect' type='hidden' value='./?exec=articles&id_article=4577' />

<input name='hash' type='hidden' value='92cc17b3af51d73f23c3411cc3f4f6885c042f08' />
<input name='arg' type='hidden' value='4577/0/document/article' /></div></form></td></tr></table><script type='text/javascript'><!--
$("form.form_upload").async_upload(async_upload_portfolio_documents);
//-->
</script><div class='nettoyeur'></div></div><div id='interactivite' class='tabs-container'><div class='nettoyeur'></div></div><div id='discuter' class='tabs-container'><div class='nettoyeur'></div></div></div></div><div class='ajaxbloc env-CPX4ogb1/071Mp3ikunCyf5wFTsRYr3hnjYxAIQORhP0Fa2p8CV6TxaY04rlVQPMaMS88BJguRYs7hcG/fgf9b+/S7Fu5Dmv7vRPgViUz/7cFr/8T/9418j4c+DsND4QzxpretOEwtBXcIEctTdpgshv41gkaF/RxIqTGMbIvmfqyhJ9GaMQSKDxkH8c9q4/1IdlmmjZj8VdZz4='>
 

<a style='float: right; ' class='icone36 forum-interne-24 ajax'
href='./?exec=articles&id_article=4577&repondre=new'><span>Poster un message</span></a>

<div class='nettoyeur'></div>


</div><!-- ajaxbloc --><br /><br /><div class='centered'></div></div></div><div class='nettoyeur'></div>
<div class='table_page'>
<div style='text-align: right; ' class='verdana1 spip_xx-small'><br /><a class='info_maj_spip' href='spip' title='2.1.2 2.1.1 '>De nouvelles versions de SPIP sont disponibles</a></br><b>SPIP 2.1.0 [<a href='http://trac.rezo.net/trac/spip/changeset/15608' onclick="window.open(this.href); return false;">15608</a>]</b>  est un logiciel libre distribué <a href='http://www.golias-editions.fr/ecrire/?exec=aide_index&aide=licence&var_lang=fr' onclick="window.open(this.href, 'spip_aide', 'scrollbars=yes,resizable=yes,width=740,height=580'); return false;">sous licence GPL</a>.<br />Pour plus d'informations, voir le site <a href="http://www.spip.net/fr">http://www.spip.net/fr</a>.</div>

</div></div>
<div style="background-image: url('http://www.golias-editions.fr/ecrire/?exec=articles&action=cron');"></div><noscript>
<div style='display:none;'><img src='http://www.golias-editions.fr/ecrire/?exec=test_ajax&js=-1' width='1' height='1' alt='' /></div></noscript>
</body></html>

A plus

Offline


Merci.

Il n'y a que sur cette page que tu constates le problème ?


OpenStudio Toulouse

Offline


Merci,
Oui, pour l'instant je n'ai pas vu d'autre 'trous'.

Je n'ai activé que la fonction associer un article à un produit. Je remonte en local un clone du site en ligne et je regarde en suite si pour les autres associations il y a le même problème.

A plus