Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#51 2009-02-26 10:42:07

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : Besoin d'aide pour mon thème Welsh 2.0

Je ne me souviens plus du tout de la fonction qu'adjaya m'avait gentiment créée pour ce menu. Il faudrait regarder s'il y a moyen de la compléter pour qu'elle ajoute une class spécifique ou une id sur chaque lien.


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#52 2009-02-26 19:42:11

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : Besoin d'aide pour mon thème Welsh 2.0

Kozlika a écrit :

Je ne me souviens plus du tout de la fonction qu'adjaya m'avait gentiment créée pour ce menu. Il faudrait regarder s'il y a moyen de la compléter pour qu'elle ajoute une class spécifique ou une id sur chaque lien.

Oui, ca doit pas être très compliqué à faire, je regarderais ca!


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#53 2009-02-26 21:55:04

itoben
Membre
Inscription : 2006-02-26

Re : Besoin d'aide pour mon thème Welsh 2.0

cool.... j'attends pour voir :)

Hors ligne

#54 2009-02-27 02:08:46

itoben
Membre
Inscription : 2006-02-26

Re : Besoin d'aide pour mon thème Welsh 2.0

Coucou,

C'est encore moi. En attendant ma demande en post #50, j'essayes de comprendre et d'utiliser les codes expliquées entre les posts #33 et #39 et de les utiliser sur mon nouveau blog (ce n'est pas celui que j'ai en lien dans mon profil).

Je n'arrive pas à le faire fonctionner. Si j'ai bien compris c'est comme un menu déroulant ?

Je ne dois pas mettre le code au bon endroit. Pouvez-vous me donner un petit mode d'emploi, svp ?

Hors ligne

#55 2009-02-27 11:55:32

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : Besoin d'aide pour mon thème Welsh 2.0

Voilà un code à tester devant permettre d'ajouter un style ( id ou class ) sur le li.

<?php
/**
Ces fonctions permettent d'alimenter les onglets du theme
et d'affecter l'id active a l'onglet actif
Merci, grand merci a Adjaya !
*/

$core->tpl->addBlock('BlockMenu',array('tplMaClasse','BlockMenu'));
$core->tpl->addValue('TabItem',array('tplMaClasse','TabItem'));
class tplMaClasse
{
	/**
	use :
	<tpl:BlockMenu>
	</tpl:BlockMenu>
	*/
	public static function BlockMenu($attr,$content)
	{
		return
		'<?php $url = $_SERVER[\'REQUEST_URI\']; $abs_url = http::getHost().$url; ?>'."\n".
		'<ul>'.
		$content.
		'</ul>';
	}
	/*
	use exemple:
	1. {{tpl:TabItem title="link title" url="/link-url"}} : simple link ( url should be relating or absolute ).
	2. {{tpl:TabItem mode="categories"}} : categories list.
	*/	
	public static function TabItem($attr)
	{
		global $core;
		
		$li_id = $li_class = '';
		if (isset($attr['li_id'])) {
			$li_id = ' id="'.trim($attr['li_id']).'"';
		}
		if (isset($attr['li_class'])) {
			$li_class = ' class="'.trim($attr['li_class']).'"';		
		}
		
		if (isset($attr['title']) != '' && isset($attr['url']) != '')
		{
			return
			'<li'.$li_id.$li_class.'><a href="'.trim($attr['url']).'"'.
			'<?php '.
			'if ($url == "'.trim($attr['url']).'" || $abs_url == "'.trim($attr['url']).'") {'.
			'	echo \' id="active"\'; '.
			'} ?>'."\n".
			'>'.trim($attr['title']).'</a></li>';
			
		} elseif (isset($attr['mode']) != '') {
		
			if (trim($attr['mode']) == 'categories') {
				$rs = $core->blog->getCategories();
				if (!$rs->isEmpty()) {
					$item = '';
					while ($rs->fetch()) {
						$item .=
						'<li id="'.$rs->cat_url.'"'.$li_class.'><a href="'.
						$core->blog->url.$core->url->getBase('category').'/'.$rs->cat_url.'"'.
						'<?php '.
						'if ($abs_url == "'.$core->blog->url.$core->url->getBase('category').'/'.
						$rs->cat_url.'") {'.
						'	echo \' id="active"\'; '.
						'} ?>'."\n".
						'>'.html::escapeHTML($rs->cat_title).'</a>'.
						//($w->postcount ? ' ('.$rs->nb_post.')' : '').
						'</li>'."\n  ";
					}
					return $item;
				}
			}
		}
		return;
	}
}
?>

exemple d'utilisation possible :

<tpl:BlockMenu>
    {{tpl:TabItem title="Titre 1" url="url-1" li_id="style-1" li_class="class-1"}}
</tpl:BlockMenu>

A noter que sur {{tpl:TabItem mode="categories"}}, le li de chaque catégorie seras automatiquement affecté d'un <li id="cat-short-url">


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#56 2009-02-27 13:54:43

itoben
Membre
Inscription : 2006-02-26

Re : Besoin d'aide pour mon thème Welsh 2.0

Vraiment merci beaucoup adjaya, tu assures un max. Bravo.

Je vais tester ça.

Euh question d'un novice, je l'intègre où le code ?

Hors ligne

#57 2009-02-27 14:58:09

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : Besoin d'aide pour mon thème Welsh 2.0

> itoben
Ce code est à placer dans un fichier _public.php que tu place dans le répertoire de ton thème.
Comme il existe déjà pour welsh2, tu y remplace cette partie du code d'origine du dit fichier :

	public static function TabItem($attr)
	{
		if (isset($attr['title']) != '' && isset($attr['url']) != '')
		{
			return
			'<li><a href="'.trim($attr['url']).'"'.
			'<?php $link_url = "'.trim($attr['url']).'";'."\n".
			'if ($url == $link_url || $abs_url == $link_url) {'.
			'	echo \' id="active"\'; '.
			'} ?>'."\n".
			'>'.trim($attr['title']).'</a></li>';
		}
		return;
	}

par celui-ci :

	public static function TabItem($attr)
	{
		global $core;
		
		$li_id = $li_class = '';
		if (isset($attr['li_id'])) {
			$li_id = ' id="'.trim($attr['li_id']).'"';
		}
		if (isset($attr['li_class'])) {
			$li_class = ' class="'.trim($attr['li_class']).'"';		
		}
		
		if (isset($attr['title']) != '' && isset($attr['url']) != '')
		{
			return
			'<li'.$li_id.$li_class.'><a href="'.trim($attr['url']).'"'.
			'<?php '.
			'if ($url == "'.trim($attr['url']).'" || $abs_url == "'.trim($attr['url']).'") {'.
			'	echo \' id="active"\'; '.
			'} ?>'."\n".
			'>'.trim($attr['title']).'</a></li>';
			
		} elseif (isset($attr['mode']) != '') {
		
			if (trim($attr['mode']) == 'categories') {
				$rs = $core->blog->getCategories();
				if (!$rs->isEmpty()) {
					$item = '';
					while ($rs->fetch()) {
						$item .=
						'<li id="'.$rs->cat_url.'"'.$li_class.'><a href="'.
						$core->blog->url.$core->url->getBase('category').'/'.$rs->cat_url.'"'.
						'<?php '.
						'if ($abs_url == "'.$core->blog->url.$core->url->getBase('category').'/'.
						$rs->cat_url.'") {'.
						'	echo \' id="active"\'; '.
						'} ?>'."\n".
						'>'.html::escapeHTML($rs->cat_title).'</a>'.
						//($w->postcount ? ' ('.$rs->nb_post.')' : '').
						'</li>'."\n  ";
					}
					return $item;
				}
			}
		}
		return;
	}

Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#58 2009-02-27 16:23:34

itoben
Membre
Inscription : 2006-02-26

Re : Besoin d'aide pour mon thème Welsh 2.0

Merci encore adjaya.

J'ai bien compris maintenant où intégrer ce code.

Je suppose que je dois paramétrer : "style-1" et "class-1" quelque part.

Mais je ne sais pas où ni comment... C'est une catastrophe quand on n'y connait rien et qu'on tatonne pour trouver une solution. Je suis largué :s

Alors j'ai pensé à quelque chose comme ça :
#style-1 { background : #346 url(images/bg_body.gif); color : #fff; border-top : 2px solid #a08;}
#style-1 a { color : #fff; font-weight : bold;}
#style-1 a:hover { color : #66FF00;}
#style-1 p { padding : 1em;}

#class-1 { background : #346 url(images/bg_body.gif); color : #fff; border-top : 2px solid #a08;}
#class-1 a { color : #fff; font-weight : bold;}
#class-1 a:hover { color : #66FF00;}
#class-1 p { padding : 1em;}

que j'ai d'abord intégré dans my.css et après dans style.css mais sans résultat :s

Merci de votre aide.

Hors ligne

#59 2009-02-27 17:16:52

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : Besoin d'aide pour mon thème Welsh 2.0

Non, mes exemples sont purement fantaisiste :)
Bon je reprend pour exemple un bout de ton code de ton menu :

  {{tpl:TabItem title="Accueil" url="/index.php/"}}

admettons que tu veuille ajouter un style particulier sur cet item de menu, tu peux par exemple faire :

  {{tpl:TabItem title="Accueil" url="/index.php/" li_id="accueil"}}

dans ton fichier css tu peux maintenant créer la régle de style :

#accueil { ... }

si tu préfère styler le a plutôt que le li tu doit pouvoir faire :

#accueil a { ... }

Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#60 2009-02-27 17:33:41

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : Besoin d'aide pour mon thème Welsh 2.0

PS : faudras surement vider le cache de ton navigateur et actualiser la page de ton navigateur pour que les changements prennent effet !


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#61 2009-02-28 01:40:21

itoben
Membre
Inscription : 2006-02-26

Re : Besoin d'aide pour mon thème Welsh 2.0

Merci pour toutes ces infos.

J'ai bien compris le principe... mais il y a quelque chose qui me dépasse... Malgré mes tests (et j'ai bien sûr vider mon cache et réactualiser la page de mon navigateur et même essayer sur un autre navigateur), aucun changement de quelque nature que ce soit ne s'opère. Je n'ai même pas le droit à un petit message d'erreur.

Encore merci du temps passé pour cette fonction.

Hors ligne

#62 2009-02-28 07:43:29

adjaya
Membre
Lieu : Provence - Luberon
Inscription : 2006-09-05
Site Web

Re : Besoin d'aide pour mon thème Welsh 2.0

> itoben : chez moi les tests sont concluant, donc ca devrait marcher !
Une url pour voir serait utile pour détecter d'eventuels problèmes.


Photo, Art et Création Numérique : http://benoit-grelier.photo7.fr/

Hors ligne

#63 2009-03-02 15:58:29

itoben
Membre
Inscription : 2006-02-26

Re : Besoin d'aide pour mon thème Welsh 2.0

Je n'ai pas encore eu le temps de tester à nouveau. Je vous tiens au courant.

Hors ligne

#64 2009-03-10 15:02:04

jcp
Membre
Inscription : 2008-08-12
Site Web

Re : Besoin d'aide pour mon thème Welsh 2.0

Bonjour,

Je continue sur ce post, vue que c'est toujours le meme theme : Welsh 2.0

Comment puis je faire pour mettre en haut de mon theme un LOGO de 800 pixel plutot qu'un simple titre de blog ?

Par avance merci

Jean-Christophe

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map