Aller au contenu
Support de Zwii
Fred

10303 et un défi lancé aux membres

Messages recommandés

il y a 37 minutes, Fred a dit :

Il ne t’a pas échappé que ce commit était un revert, non ? C’est quoi l’intérêt de cette remarque ?

Il est possible que oui, c'est quoi un revert ?

 

il y a 39 minutes, Fred a dit :

Personne n’a indiqué que le commit était en ligne. 

Je ne faisais que voir si ce que tu préconise était implémenté dans la dernière dev, désolé d'avoir perturbé le défi en cours 😁

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 8 heures, Gilux a dit :

[...] désolé d'avoir perturbé le défi en cours 😁

 

Non non, t'inquiète, @Gilux, mais c'est vrai que ça rassure quand on a compris. 😷😷😷

 

defi.jpg.ac5d06704ca7f3a9d9652e3b2ee14e2d.jpg

 

Mais @Fred, ne reste-t-il pas un petit problème, pour qu'on puisse considérer que tu as gagné ? Je n'en dis pas plus pour ne pas divulgâcher.

Modifié par McGregor

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @Fred

Il y a 9 heures, Fred a dit :

En effet ! Post constructif mais je préfère les icônes ainsi 😉.

Tu ne t’es pas débarrassé de ton style CSS interne au core ?

Merci pour ne compliment, en effet poursuivre ses propre essais puis les relater avec un minimum d'infos pour ne pas "noyer le sujet"  aide à mieux comprendre le cheminement qui est le mien.

 

Concernant l'icône "Profil du membre), deux possibilité s'offrent à nous (pour la barre du simple membre):

- Une simple icône et rien de plus (son placement étant possible à droite ou à gauche suivant le goût de l'utilisateur de l'icône "Logout"), c'est le choix préconisé à la base pour le ZwiiCMS

- Une icône + le nom du membre (placement de cette" icône  + nom" idem que pour une simple icône comme expliqué au dessus les goûts de chacun ne sont pas forcément ceux du plus grand nombre), c'est un  choix facultatif offert à l'utilisateur qui veut "customiser" sa propre barre à lui.

Cette implantation est effectuée uniquement dans le core.php elle peut aussi faire l'objet d'un tutoriel une fois officialisée la version qui verra le jour avec cette fonctionnalité là.

 

Mon style css utilisé::

- dans le common.css: uniquement ajouté pour placer l'icône "logout" sur la droite (auparavant je la plaçais cette directive dans le css perso)

}
#menuLoginLink {
float: right;
} 

Pour des problèmes dus à ma vue, j'ai juste par commodité changé la couleur et la taille de mes icônes "logout" & "trash" en rouge. (css perso), c'est bien entendu facultatif.

/* barre admin gauche */
.zwiico-trash {
color: red;
}

/* barre admin droite */
.zwiico-logout {
color: #ff0000;
}
#barLogout {
font-size: 18px;
}

Et rien de plus, le css interne du core est celui de la version sur le github 10303.

 

💡 Ces tests sont la suite de ceux  du "compère Roger" qui pousse plus loin dans la solution qu'il propose les possibilités qu'il pourrait incorporer en plus de ce qui est demandé à la base dans ce défit là.

Mes essais n'ont comme pour valeur que de servir d'exemples d'autres utilisations possibles de fonctionnalités offertes par le zwii (custom css, placement d'une fonction, ajout de tel ou tel truc en  plus etc...); quand ça marche sans faire "planter" mon zwii je suis alors le plus heureux de tous car cela m'offre la possibilité plus tard d'un possible tutoriel dans nos lignes. 😃

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, McGregor a dit :

ne pas divulgâcher.

Je proposerais bien de placer aussi sur la droite l’icône de la recherche mouai.... ça ferait plus joli non?

Bin vi la "Loupe" , en plus d'être plus grande en hauteur que le texte et touti, semble un peu seule à coté des onglet de ton menu, bien loin des deux autres icônes 🙃

Modifié par roger

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 6 minutes, roger a dit :

Je proposerais bien de placer aussi sur la droite l’icône de la recherche mouai.... ça ferait plus joli non?

Bin vi la "Loupe" , en plus d'être plus grande en hauteur que le texte et touti, semble un peu seule à coté des onglet de ton menu, bien loin des deux autres icônes 🙃

Cette icône est une page qui est générée dynamiquement, on sort un peu du problème énoncé précédemment, la transposition de la barre d'admin en mode réduit dans le menu à la place de cette affreuse barre noire vide.

 

Il y a 1 heure, McGregor a dit :

Mais @Fred

 

, ne reste-t-il pas un petit problème, pour qu'on puisse considérer que tu as gagné ? Je n'en dis pas plus pour ne pas divulgâcher.

 

Vous vous êtes basé toi et @Gilux sur un commit qui a été annulé, un essai que j'ai fait fait pendant une pause et qui est parti pour être récupéré sur un autre poste, d'où le revert.

Il y a 1 heure, McGregor a dit :

pour qu'on puisse considérer que tu as gagné ?

Ce n'est pas un concours mais un manière d'explorer le code de Zwii et d'apprendre.

 

Une solution est commitée ici  il était possible de faire autrement on peut sûrement l'améliorer.

 

La fonction showMenu devient :

 

	/**
	 * Affiche le menu
	 */
	public function showMenu() {
		// Met en forme les items du menu
		$itemsLeft = '';
		$currentPageId = $this->getData(['page', $this->getUrl(0)]) ? $this->getUrl(0) : $this->getUrl(2);
		foreach($this->getHierarchy() as $parentPageId => $childrenPageIds) {
			// Passer les entrées masquées
			// Propriétés de l'item
			$active = ($parentPageId === $currentPageId OR in_array($currentPageId, $childrenPageIds)) ? 'active ' : '';
			$targetBlank = $this->getData(['page', $parentPageId, 'targetBlank']) ? ' target="_blank"' : '';
			// Mise en page de l'item
			$itemsLeft .= '<li>';

			if ( $this->getData(['page',$parentPageId,'disable']) === true
				 AND $this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')	)

					{$itemsLeft .= '<a class="' . $parentPageId . '" href="'.$this->getUrl(1).'">';
			} else {
					$itemsLeft .= '<a class="' . $active . $parentPageId . '" href="' . helper::baseUrl() . $parentPageId . '"' . $targetBlank . '>';
			}

			switch ($this->getData(['page', $parentPageId, 'typeMenu'])) {
				case '' :
				    $itemsLeft .= $this->getData(['page', $parentPageId, 'title']);
				    break;
				case 'text' :
				    $itemsLeft .= $this->getData(['page', $parentPageId, 'title']);
				    break;
				case 'icon' :
				    if ($this->getData(['page', $parentPageId, 'iconUrl']) != "") {
				    $itemsLeft .= '<img alt="'.$this->getData(['page', $parentPageId, 'title']).'" src="'. helper::baseUrl(false) .self::FILE_DIR.'source/'.$this->getData(['page', $parentPageId, 'iconUrl']).'" />';
				    } else {
				    $itemsLeft .= $this->getData(['page', $parentPageId, 'title']);
				    }
				    break;
				case 'icontitle' :
				    if ($this->getData(['page', $parentPageId, 'iconUrl']) != "") {
				    	$itemsLeft .= '<img alt="'.$this->getData(['page', $parentPageId, 'title']).'" src="'. helper::baseUrl(false) .self::FILE_DIR.'source/'.$this->getData(['page', $parentPageId, 'iconUrl']).'" data-tippy-content="';
				   	 	$itemsLeft .= $this->getData(['page', $parentPageId, 'title']).'"/>';
				    } else {
				  	 	$itemsLeft .= $this->getData(['page', $parentPageId, 'title']);
				    }
					break;
		       }
			// Cas où les pages enfants enfant sont toutes masquées dans le menu
			// ne pas afficher de symbole lorsqu'il n'y a rien à afficher
			$totalChild = 0;
			$disableChild = 0;
			foreach($childrenPageIds as $childKey) {
				$totalChild += 1;
			}
			if($childrenPageIds && $disableChild !== $totalChild  &&
				$this->getdata(['page',$parentPageId,'hideMenuChildren']) === false) {
				$itemsLeft .= template::ico('down', 'left');
			}
			// ------------------------------------------------
			$itemsLeft .= '</a>';
			if ($this->getdata(['page',$parentPageId,'hideMenuChildren']) === true ||
				empty($childrenPageIds)) {
				continue;
			}
			$itemsLeft .= '<ul class="navLevel2">';
			foreach($childrenPageIds as $childKey) {
				// Propriétés de l'item
				$active = ($childKey === $currentPageId) ? 'active ' : '';
				$targetBlank = $this->getData(['page', $childKey, 'targetBlank']) ? ' target="_blank"' : '';
				// Mise en page du sous-item
				$itemsLeft .= '<li>';
				if ( $this->getData(['page',$childKey,'disable']) === true
					AND $this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')	) {
						$itemsLeft .= '<a class="' . $parentPageId . '" href="'.$this->getUrl(1).'">';
				} else {
					$itemsLeft .= '<a class="' . $active . $parentPageId . '" href="' . helper::baseUrl() . $childKey . '"' . $targetBlank  .  '>';
				}

				switch ($this->getData(['page', $childKey, 'typeMenu'])) {
					case '' :
						$itemsLeft .= $this->getData(['page', $childKey, 'title']);
						break;
					case 'text' :
						$itemsLeft .= $this->getData(['page', $childKey, 'title']);
						break;
					case 'icon' :
						if ($this->getData(['page', $childKey, 'iconUrl']) != "") {
						$itemsLeft .= '<img alt="'.$this->getData(['page', $parentPageId, 'title']).'" src="'. helper::baseUrl(false) .self::FILE_DIR.'source/'.$this->getData(['page', $childKey, 'iconUrl']).'" />';
						} else {
						$itemsLeft .= $this->getData(['page', $parentPageId, 'title']);
						}
						break;
					case 'icontitle' :
						if ($this->getData(['page', $childKey, 'iconUrl']) != "") {
						$itemsLeft .= '<img alt="'.$this->getData(['page', $parentPageId, 'title']).'" src="'. helper::baseUrl(false) .self::FILE_DIR.'source/'.$this->getData(['page', $childKey, 'iconUrl']).'" data-tippy-content="';
						$itemsLeft .= $this->getData(['page', $childKey, 'title']).'"/>';
						} else {
						$itemsLeft .= $this->getData(['page', $childKey, 'title']);
						}
						break;
					case 'icontext' :
						if ($this->getData(['page', $childKey, 'iconUrl']) != "") {
						$itemsLeft .= '<img alt="'.$this->getData(['page', $parentPageId, 'title']).'" src="'. helper::baseUrl(false) .self::FILE_DIR.'source/'.$this->getData(['page', $childKey, 'iconUrl']).'" />';
						$itemsLeft .= $this->getData(['page', $childKey, 'title']);
						} else {
						$itemsLeft .= $this->getData(['page', $childKey, 'title']);
						}
						break;
				}
				$itemsLeft .= '</a></li>';
			}
			$itemsLeft .= '</ul>';
		}
		// Lien de connexion
		$itemsRight = '';
		if(
			(
				$this->getData(['theme', 'menu', 'loginLink'])
				AND $this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')
			)
			OR $this->getUrl(0) === 'theme'
		) {
			$itemsRight .= '<li id="menuLoginLink" ' .
			($this->getUrl(0) === 'theme' ? 'class="displayNone"' : '') .
			'><a href="' . helper::baseUrl() . 'user/login/' .
			strip_tags(str_replace('/', '_', $this->getUrl())) .
			'">' . template::ico('login') .'</a></li>';
		}
		// Commandes pour les membres simples
		if($this->getUser('group') == self::GROUP_MEMBER
			&& ( $this->getData(['theme','menu','memberBar']) === true
				|| $this->getData(['theme','footer','displayMemberBar']) === false
				)
		) {
			$itemsRight .= '<li><a href="' . helper::baseUrl() . 'user/edit/' . $this->getUser('id'). '/' . $_SESSION['csrf'] . '" data-tippy-content="Gérer mon compte">' . template::ico('user', 'right') . '</a></li>';
			$itemsRight .= '<li><a id="barLogout" href="' . helper::baseUrl() . 'user/logout" data-tippy-content="Me déconnecter">' . template::ico('logout') . '</a></li>';
		}
		// Retourne les items du menu
		echo '<ul class="navLevel1" id="menuLeft">' . $itemsLeft . '</ul><ul class="navLevel1" id="menuRight">' . $itemsRight . '</ul>';
	}

La variable $itemsLeft capitalise les élements du menu $itemsRight, ceux de la barre de membre.

 

Ensuite dans common.css, on ajoute la gestion de la position des blocs :

nav #menuLeft {
	display: flex;
	float: left;
}
nav #menuRight {
	display: flex;
	float: right;
}
/* fin barre de menu */
nav::after {
	content: " ";
	clear: both;
	display: flex;
}
nav::before {
	content: " ";
	clear: left;
	display: flex;
}

Il n'y a rien d'original, pour ceux qui ont suivi la version multi-langues qui est stoppée pour le moment.

 

Cette solution fonctionne avec les alignements du menu.

 

Bravo à Roger qui a eu l'idée originale de cette position décalée.

 

 

 

  • Merci 1

Partager ce message


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

Une solution est commitée ici  il était possible de faire autrement on peut sûrement l'améliorer.

En  attendant le verdict des amis, installée illico presto et une seule image pour donner mon avis sur ce travail là (dans l'esprit du Zwii 100% pur jus made in Fred).

cap4.thumb.png.9e66be3411e0c662b41bf246ed825afe.png

 

Trois possibilités dans ce défit, relevé par TROIS COMPÈRES @McGregor @Fred @roger , trois propositions avec toutes le même objectif faire évoluer le zwii.

Défit réalisé il me semble non?

Et pas besoin d'un gagnant à nommer pour le défit, nous gagnons tous par le seul fait d'avoir proposé une solution chacun, peut importe celle qui sera choisie au final tant qu'elle cadre avec l'esprit Zwii et soit la plus propre possible.

  • J'aime 2

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 26 minutes, roger a dit :

Et pas besoin d'un gagnant à nommer pour le défit, nous gagnons tous par le seul fait d'avoir proposé une solution chacun, peut importe celle qui sera choisie au final tant qu'elle cadre avec l'esprit Zwii et soit la plus propre possible.

👍

Partager ce message


Lien à poster
Partager sur d’autres sites

Héhé, je suis vraiment incorrigible quand un défit est proposé

@Fred vu que nous parlons positionnement de barre et principalement d'icônes... si  "Recherche" dans le menu y est symbolisé sous la forme d'une icône..; alors pourquoi ne pas faire la même chose dans le footer si un utilisateur choisi aussi d'y faire apparaître là en plus du menu la fonction de recherche sur le site 😘

 

Je me suis donc amusé à reproduire la chose, ce qui m'a valu d'admirer ce résultat sur ta version commitée ce matin.

Actuellement le lien de recherche tel qu'on le trouve dans le footer.

cap5.thumb.png.f32e0779f9a9cbe0038f115f7161c3e5.png

 

Résultat de mes "cogitations" 🙃

cap6.png.0bb842b5db61682f4436bcf3c4776225.png      cap7.png.d9a76f2f42ff8d28a3622ee4f2a4d4ee.png

 

cap8.png.7b6a103c8f5d1756bbd1cc168ffceb36.png

 

🤓 Heu pas mal la barre d'un simple membre dans la dernière capture, bon vais devoir arrêter ce genre de truc car le cerveau fume trop avec cette idée de défit proposée initialement.

 

 

Modifié par roger

Partager ce message


Lien à poster
Partager sur d’autres sites

N'oubliez pas de vider le cache de votre navigateur, sinon pas de toute petite icône de connexion... 🙃

Il me semble me souvenir qu'à l'époque de la #7, @Rémi avait mis un bouton ad hoc.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, Fred a dit :

@roger, je suis mort de rire. Dans les options du footer, il distrait déjà une option 😉 

 

 Bin vi tu connais bien le gars "roger", dés qu'on le laisse jouer avec un truc aussitôt c'est comme une boite de 

7279-collection-de-figurines-city-police

c'est prévu pour que cette boite donne au résultat final un joli véhicule..mais il ne peut pas s'empêcher d'en acheter 10 de boites pour transformer le modèle de base en 🙃

lego-friends-central-perk-696x464@1.jpg

L'est vraiment incorrigible le gus "roger" pour trouver de nouvelles utilités là où l'on ne le pense pas comme par exemple la façon illustrée au dessus (Bar des "bidouilleurs du Zwii") sur l'esprit collaboratif entre nous tous, ça cogite dur avec ma construction non? MDR

 

NDLR: C'était ma pensée humoristique du jour, pas taper sur l'auteur de cette répartie en deux images chrono 😄 🤓  😋

Modifié par roger

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, McGregor a dit :

N'oubliez pas de vider le cache de votre navigateur, sinon pas de toute petite icône de connexion... 🙃

Il me semble me souvenir qu'à l'époque de la #7, @Rémi avait mis un bouton ad hoc.

 

Séquence nostalgie !

Dans l'onglet "Configuration avancée" de la version 7.81 de janvier 2017 ! 🤧

 

7_81.thumb.jpg.6db55b6789ec8a54e9242264ac8069cc.jpg

 

A mettre sur la page d'accueil.

Modifié par McGregor

Partager ce message


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

×
×
  • Créer...