Aller au contenu
Support de Zwii
  • 0
Gilux

Résolu :) [9.1.11, 9.2.02] News

Question

C'est pas vraiment un bug, mais un problème de fonctionnement du module News.

Pour des news comportant plusieurs pages, ayant pour configuration : barre de menu 1/4 et page 3/4, lorsque l'on change de page, passant de la 1 à la 2 par exemple, la page 2 (ou celle sélectionnée) ne comporte plus la barre latérale, ni les suivantes bien sur.

Modifié par Gilux
9.2.02

Partager ce message


Lien à poster
Partager sur d’autres sites

Messages recommandés

  • 0
il y a une heure, Gilux a dit :

C'est pas vraiment un bug, mais un problème de fonctionnement du module News.

Pour des news comportant plusieurs pages, ayant pour configuration : barre de menu 1/4 et page 3/4, lorsque l'on change de page, passant de la 1 à la 2 par exemple, la page 2 (ou celle sélectionnée) ne comporte plus la barre latérale, ni les suivantes bien sur.

Bonne info, je regarde ça 👍

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Je n'avais pas du tout regardé ça, mais voilà un problème qui sent bien le caca à première vue.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Pas autant que ça..

Je te laisse tester le nouveau main.php

L'emplacement de l'include du body est modifié, il était bien étrangement placé dans un test.

 

main.php

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Salut @Fred

Je viens de tester le main.php, malheureusement le problème n'est pas résolu, le comportement est identique, dès que l'on change de page le menu en barre latérale disparaît, il faut alors revenir sur la page principale des news pour le retrouver.

Le réglage des articles par page est positionné à 5, mais je ne pense pas que ça ait une incidence sur ce problème.

 

Par ailleurs, tu as ajouté 1 include supplémentaire, portant à 3 leur nombre, dont 2 dans body pour le body.inc.html, mais la dernière ajoutée est inutile, elle à pour effet de dupliquer les éléments inclus dans le haut de la page, les lignes 175 à 177 sont donc à supprimer :

 

2019-07-30_214520.png.ff055521e9036447426b5b899e63c8cc.png

 

Ne te prends pas la tête avec ce problème, surtout pendant tes vacances, il faudra juste faire une annonce pour informer les utilisateurs que le module news n'accepte pas de barre latérale, provisoirement ou pas.

 

Je pense qu'il faudrait faire en sorte que le module détecte si il est, ou pas, inséré dans un calque (<div class="col9"> pour le 1/4 - 3/4 et inversement), si le résultat est positif alors les != pages du modules doivent s'ouvrir dans le calque, sinon elles s'ouvrent en pleine page.

Voila, ça c'est la théorie, mais en pratique je suis un peu dépourvu, voire à la ramasse totale dans le PHP de ZwiiCMS, je bricole un peu mais seulement en codage impératif, la programmation orientée objet est encore bien mystérieuse pour moi.

 

 

Modifié par Gilux
complément

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

PS : je viens de me rendre compte que le module news s'affiche aussi dans un calque... à l'intérieur d'un autre calque, celui détermine par le choix d'une barre latérale :

 

		<div class="row siteContainer"> 
		 
				<div class="col3" id="contentLeft">		
					<p>&nbsp;</p><div id="menuSideLeft"></li></div>			 	</div> 
							<div class="col9" id="contentSite"><p>Contenu de votre nouvelle page.</p>	<div class="row">
		<div class="col12">
							<h1 class="newsTitle">

Ce qui ne doit pas manquer de créer des problèmes d'affichage, non ?

Le module est dans 12 colonnes, dans un calque qui en contient 9.

Je vais tenter de supprimer le class row du module, pour voir ...

 

Résultat = ECHEC

 

<?php if($module::$news): ?>
	<!--<div class="row">
		<div class="col12">-->
			<?php foreach($module::$news as $newsId => $news): ?>
				<h1 class="newsTitle">
					<?php echo $news['title']; ?>
				</h1>
				<div class="newsDate">
					<i class="far fa-calendar-alt"></i>
					<?php echo utf8_encode(strftime('%d %B %Y', $news['publishedOn'])); ?>
				</div>
				<div class="newsSignature">
					<?php echo $this->getData(['user', $news['userId'], 'firstname']) . ' ' . $this->getData(['user', $news['userId'], 'lastname']); ?>
				</div>
				<div class="newsContent">
					<?php echo $news['content']; ?>
				</div>
				<div class="clearBoth"></div>
				<hr />
			<?php endforeach; ?>
		<!--</div>
	   </div>-->
	<?php echo $module::$pages; ?>
<?php else: ?>
	<?php echo template::speech('Aucune news.'); ?>
<?php endif; ?>

Mais je n'ai pas du supprimer au bon endroit car le code reste inchangé :

<section>
			<div class="row siteContainer"> 
		 
				<div class="col3" id="contentLeft">		
					<p>&nbsp;</p><div id="menuSideLeft"></li></div>			 	</div> 
							<div class="col9" id="contentSite"><p>Contenu de votre nouvelle page.</p>	<div class="row">
		<div class="col12">
							<h1 class="newsTitle">

Je n'ai modifié que l'index : \module\news\view\index\index.php

 

 

 

Modifié par Gilux
résultat

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
il y a 31 minutes, Gilux a dit :

Par ailleurs, tu as ajouté 1 include supplémentaire, portant à 3 leur nombre, dont 2 dans body pour le body.inc.html, mais la dernière ajoutée est inutile, elle à pour effet de dupliquer les éléments inclus dans le haut de la page, les lignes 175 à 177 sont donc à supprimer :

Tu as raison, il y en avait quand même en trop au-dessus.

il y a 36 minutes, Gilux a dit :

Je viens de tester le main.php, malheureusement le problème n'est pas résolu, le comportement est identique, dès que l'on change de page le menu en barre latérale disparaît, il faut alors revenir sur la page principale des news pour le retrouver.

Le réglage des articles par page est positionné à 5, mais je ne pense pas que ça ait une incidence sur ce problème.

Tu devrais vider le cache, le changement de page se fait bien sur ma machine de dév.

Cependant il y a un effet de bord au niveau de la configuration du module qui ne s'affiche pas dans une page unique.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
il y a 24 minutes, Gilux a dit :

PS : je viens de me rendre compte que le module news s'affiche aussi dans un calque... à l'intérieur d'un autre calque, celui détermine par le choix d'une barre latérale :

 


		<div class="row siteContainer"> 
		 
				<div class="col3" id="contentLeft">		
					<p>&nbsp;</p><div id="menuSideLeft"></li></div>			 	</div> 
							<div class="col9" id="contentSite"><p>Contenu de votre nouvelle page.</p>	<div class="row">
		<div class="col12">
							<h1 class="newsTitle">

Ce qui ne doit pas manquer de créer des problèmes d'affichage, non ?

Le module est dans 12 colonnes, dans un calque qui en contient 9.

Je vais tenter de supprimer le class row du module, pour voir ...

 

Résultat = ECHEC

 


<?php if($module::$news): ?>
	<!--<div class="row">
		<div class="col12">-->
			<?php foreach($module::$news as $newsId => $news): ?>
				<h1 class="newsTitle">
					<?php echo $news['title']; ?>
				</h1>
				<div class="newsDate">
					<i class="far fa-calendar-alt"></i>
					<?php echo utf8_encode(strftime('%d %B %Y', $news['publishedOn'])); ?>
				</div>
				<div class="newsSignature">
					<?php echo $this->getData(['user', $news['userId'], 'firstname']) . ' ' . $this->getData(['user', $news['userId'], 'lastname']); ?>
				</div>
				<div class="newsContent">
					<?php echo $news['content']; ?>
				</div>
				<div class="clearBoth"></div>
				<hr />
			<?php endforeach; ?>
		<!--</div>
	   </div>-->
	<?php echo $module::$pages; ?>
<?php else: ?>
	<?php echo template::speech('Aucune news.'); ?>
<?php endif; ?>

 

Je vais voir ça.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Après avoir vidé le cache, ce que j'ai supprimé de l'index est bien supprimé, mais ça ne change rien au pb 😞

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
à l’instant, Gilux a dit :

Après avoir vidé le cache, ce que j'ai supprimé de l'index est bien supprimé, mais ça ne change rien au pb 😞

Laisse tomber, je vais revoir la stratégie...

  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Il y a 21 heures, Fred a dit :

Le module est dans 12 colonnes, dans un calque qui en contient 9.

Ça ne gêne pas, pour éditer le code source je te conseille d'utiliser l'inspecteur F12, le code est mieux présenté.

Nouvelle tentative :

- include en trop supprimé.

- on teste la présence d'une pagination ce qui est beaucoup plus propre.

 

 

Le fichier que j'avais posté était erroné.. Je te joins une version complète.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour @Fred

 

Je viens de télécharger l'archive ZwiiCMS-9203 ci-dessus, tu as du faire une erreur car il s'agit d'une version 9.2.02, voici, ci-dessous, une comparaison avec à gauche mon site qui est une version 9.2.00 mise à jour et récemment patchée avec le correctif du menu, et à droite la version contenue dans l'archive :

 

2019-07-31_154031.thumb.png.d43ef14d610a9e99d6786446935ccc2f.png

 

J'ai comparé les fichiers différents, et les seules différences sont relatives à la récente correction du bug du menu en position fixe :

 

2019-07-31_154224.thumb.png.c988cc683487ddfe4c8cf4691b81f527.png

 

2019-07-31_154308.thumb.png.9b0e69377cc499a25031a31a2a67072c.png

 

2019-07-31_154351.thumb.png.9d6df2fc5a046aa5e063c8568cb65e43.png

 

J'ai quand même effectué le test avec la version dite 9.2.03 que tu as transmise ci-dessus, évidemment le bug du menu est réapparu, et il n'y a aucune amélioration du problème évoqué dans ce sujet concernant le module news utilisé avec une barre latérale.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
il y a une heure, Gilux a dit :

Bonjour @Fred

 

Je viens de télécharger l'archive ZwiiCMS-9203 ci-dessus, tu as du faire une erreur car il s'agit d'une version 9.2.02, voici, ci-dessous, une comparaison avec à gauche mon site qui est une version 9.2.00 mise à jour et récemment patchée avec le correctif du menu, et à droite la version contenue dans l'archive :

 

2019-07-31_154031.thumb.png.d43ef14d610a9e99d6786446935ccc2f.png

 

J'ai comparé les fichiers différents, et les seules différences sont relatives à la récente correction du bug du menu en position fixe :

 

2019-07-31_154224.thumb.png.c988cc683487ddfe4c8cf4691b81f527.png

 

2019-07-31_154308.thumb.png.9b0e69377cc499a25031a31a2a67072c.png

 

2019-07-31_154351.thumb.png.9d6df2fc5a046aa5e063c8568cb65e43.png

 

J'ai quand même effectué le test avec la version dite 9.2.03 que tu as transmise ci-dessus, évidemment le bug du menu est réapparu, et il n'y a aucune amélioration du problème évoqué dans ce sujet concernant le module news utilisé avec une barre latérale.

 

 

 

Bonjour @Gilux

 

J'ai eu des problèmes avec une  synchro de dépôts, et comme il était bien tard, je t'ai sûrement déposé une mauvaise version.

 

Mon pb est réglé sur le notebook, donc je t'enverrai ça ce soir.

 

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Voici la  bonne archive, elle contient les correctifs des erreurs que tu as remontées, en tout cas je l'espère 🙂

 

Il y a aussi un correctif : sur l'écran du thème, les sous-menus sont masqués en position hors du site.

 

ZwiiCMS-9203.zip

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour @Fred

Je viens de tester la version 9.2.03, le bug des news avec barre latérale est toujours présent, j'ai vidé 2 fois le cache pour m'en assurer, comme tu le disais plus haut ça sent la m.... ce problème ;)

Le menu fixe fonctionne encore mieux avec cette version, le problème évoqué dans le post s'y relatant subsistait si la souris restait dans la zone du menu après l'avoir déplié, il suffisait alors de déplacer la souris en dehors de cette zone pour que tout rentre dans l'ordre, ce dernier très léger inconvénient n'existe plus, félicitations !

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
il y a 1 minute, Fred a dit :

Tu fais ton test en local ou en ligne ? 

Actuellement en local, je transfère les fichiers en ligne pour tester, mais c'est bientôt l'heure et il faut que j'y aille, aïe !

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

C’est vraiment étrange, sur mon installation locale cela fonctionne. Je m’y remets et je te tiens au courant. 

Bonne journée.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Il y a 11 heures, Fred a dit :

C’est vraiment étrange, sur mon installation locale cela fonctionne

Oui, et même incompréhensible, comment cela peut-il fonctionner chez toi et pas chez moi avec la même version de ZwiiCMS ?

Les fichiers du core et des modules sont donc les mêmes, ce qui diffère alors c'est le contenu du dossier site, se pourrait il qu'il y ait dans le core.json un fragment de code persistant depuis les versions antérieures qui contrecarre les modifications que tu as apporté ?

Je vais essayer avec un site de test vierge, je te rendrais compte du résultat. Mais si le résultat est positif je ne vais surement pas réécrire mon site en ligne qui comporte une centaine de pages, je ferais alors sans barre latérale pour la page des nouvelles.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

La fonctionnalité est développée au niveau de main.php :

		$blogItem = false;
		$newsItem = false;
		if (is_array ($this->getdata(['module',$this->getData(['page', $this->getUrl(0), 'moduleId'])]))) {
			$blogItem = array_key_exists($this->getUrl(1),$this->getdata(['module',$this->getData(['page', $this->getUrl(0), 'moduleId'])]));
			$newsItem = is_numeric($this->getUrl(1)) ; 			
		}

ligne 143 on initiale une variable drapeau.

ligne 146 on teste si on est dans un module et qu'il y a un article de blog ou un système de pagination (dans ce cas, $this->getUrl(1) renvoie un entier)

Ensuite en 168 :

		// Page pleine pour la configuration des modules et l'édition des pages sauf l'affichae d'un article de blog
		if ((sizeof($blocks) === 1 ||
			!empty($this->getUrl(1))) &&
			$blogItem === false  && $newsItem === false
			) { // Pleine page en mode configuration
				$layout->showContent();
		} else {

On effectue des tests multiples pour activer le mono-page :

  • quand c'est le cas ($block === 1) ou
  • quand la partie 1 de l'url n'est pas vide, ce qui correspond à une édition de page toujours en mono page) ET que
  • on n'affiche pas un article de blog ou une page de news.

Ce que tu peux faire c'est afficher les valeurs des variables par exemple avec des

var_dump($newsItem);

Ce qui te permettra de vérifier que les tests se font bien.

 

Mais avant tout, je supprimerai et remplacerai main.php, autre chose, comment la page est-elle affichée au niveau des menus ?

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Voici le résultat en 3 captures d'écran :

 

Test réalisé sur ZwiiCMS 9.2.03 fraîchement installé à partir de l'archive téléchargée sur github :  https://github.com/fredtempez/ZwiiCMS/archive/master.zip

 

Création de 7 nouvelles, paramétrage de 5 nouvelles par page :

2019-08-01_200227.thumb.png.f2c2adbda0f40c89f36e3081018296ab.png

 

Clic sur 2 (pour ouvrir la page 2) :

2019-08-01_200526.thumb.png.145c1d584005f904b8ba11061ad1c7e0.png

Page 2 :

2019-08-01_200558.thumb.png.8bc1a8db68c11bc489b0528631cc48b8.png

 

Comme tu le constates le problème n'est pas résolu, le test est fait en local avec Laragon comme serveur, mais peu importe le serveur, qu'il soit local ou distant c'est toujours Apache 2 et PHP 7, le paramétrage du httpd.conf et du php.ini ne devant pas influer sur le fonctionnement du module news, d'ailleurs tu teste toi aussi en local avec Laragon, et sinon il faudrait une version du CMS par serveur.

Pour info les tests précédents ont été fait en local, et en ligne chez free.fr et sur le serveur du site professionnel de ma boite.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
il y a 28 minutes, Fred a dit :

var_dump($newsItem);

 

Ou dois-je entrer ce fragment de code ?

Dans main, dans core ou dans l'un des fichiers du module news ?

 

il y a 29 minutes, Fred a dit :

Mais avant tout, je supprimerai et remplacerai main.php, autre chose, comment la page est-elle affichée au niveau des menus ?

 

Je n'ai pas compris, comment supprimer main.php ? Sans ce fichier le CMS ne fonctionne pas. Et le remplacer par quoi ?

Celui du site de test ci-dessus est celui contenu dans l'archive, donc le dernier en date.

 

La page "Nouvelles" si c'est bien de ça qu'il s'agit, est affichée dans les 2 menus :

2019-08-01_203904.png.4a56f13eeaa73f84209e25ff142af231.png

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Le 30/07/2019 à 22:32, Gilux a dit :

Par ailleurs, tu as ajouté 1 include supplémentaire, portant à 3 leur nombre, dont 2 dans body pour le body.inc.html, mais la dernière ajoutée est inutile, elle à pour effet de dupliquer les éléments inclus dans le haut de la page, les lignes 175 à 177 sont donc à supprimer :

 

2019-07-30_214520.png.ff055521e9036447426b5b899e63c8cc.png

 

 

Je reviens sur ça, en fait tu ne l'avais pas ajouté mais déplacé, le 2ème include manque donc en version 9.2.03, sa place dans la 9.2.02 était celle-ci (à droite) :

 

2019-08-01_204939.thumb.png.e6cac925deae22f11abeff0713d80e6d.png

 

Lignes 172 :

2019-08-01_205510.png.2a4f5df2626aeea64fa4ccf671e5c42b.png

 

et 185 :

2019-08-01_205535.png.c281bbaf269036e27870d0c7117c2bd8.png

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...