bonjour,
je galère depuis un moment pour mettre les tags sous les miniatures des catégories pour avoir une nouvelle possibilité de navigation sans passer par la case Tags dans le menu.
j'ai demandé de l'aide sur ce forum mais sans réponse j'ai pris mon mal en patience et j'ai essayé bien que je ne sache pas grand chose en php.
bref voilà ce que j'ai fait :
1. j'ai rajouté à la fin du fichier /template/index.tpl :
<!-- Ajout Tags --> <div id="content"> <ul id="fullTagCloud"> <!-- BEGIN tag --> <li><a href="{tag.URL}" class="{tag.CLASS}" title="{tag.TITLE}">{tag.NAME}</a></li> <!-- END tag --> </ul> </div> <!-- content --> <!-- Fin Ajout Tags -->
2. j'ai rajouté le code de tags.php (mais pas tout) dans le fichier index.php, en fait les lignes suivantes :
// BEGIN AJOUT TAGS // +-----------------------------------------------------------------------+ // | functions | // +-----------------------------------------------------------------------+ function counter_compare($a, $b) { if ($a['counter'] == $b['counter']) { return tag_id_compare($a, $b); } return ($a['counter'] < $b['counter']) ? +1 : -1; } function tag_id_compare($a, $b) { return ($a['tag_id'] < $b['tag_id']) ? -1 : 1; } // +-----------------------------------------------------------------------+ // | initialization | // +-----------------------------------------------------------------------+ define('PHPWG_ROOT_PATH','./'); include_once(PHPWG_ROOT_PATH.'include/common.inc.php'); check_status(ACCESS_GUEST); // +-----------------------------------------------------------------------+ // | page header and options | // +-----------------------------------------------------------------------+ $template->set_filenames(array('tags'=>'tags.tpl')); // +-----------------------------------------------------------------------+ // | tag cloud construction | // +-----------------------------------------------------------------------+ // find all tags available for the current user $tags = get_available_tags(explode(',', $user['forbidden_categories'])); // we want only the first most represented tags, so we sort them by counter // and take the first tags usort($tags, 'counter_compare'); $tags = array_slice($tags, 0, $conf['full_tag_cloud_items_number']); // depending on its counter and the other tags counter, each tag has a level $tags = add_level_to_tags($tags); // we want tags diplayed in alphabetic order usort($tags, 'name_compare'); // display sorted tags foreach ($tags as $tag) { $template->assign_block_vars( 'tag', array( 'URL' => make_index_url( array( 'tags' => array( array( 'id' => $tag['tag_id'], 'url_name' => $tag['url_name'], ), ), ) ), 'NAME' => $tag['name'], 'TITLE' => $tag['counter'], 'CLASS' => 'tagLevel'.$tag['level'], ) ); } // +-----------------------------------------------------------------------+ // | html code display | // +-----------------------------------------------------------------------+ $template->assign_block_vars('title',array()); // END AJOUT TAGS
je sais pas si la méthode est bien orthodoxe, tjs est-il que cela fonctionne. les visiteurs peuvent ainsi sur la meme page naviguer soit dans les galeries et sous-galeries (à droite) soit à l'aide des tags en bas de page.
je cherche maintenant à diminuer la taille des tags pour qu'ils prennent un peu moins de place...
avis aux amateurs !
bonsoir
Hors ligne
On regardera ça de près. Je n'avais pas oublié ta question.
Tu as trouvé une solution: Bravo !
Je suggèrerai quelque chose dans quelques jours sans aucun doute.
8-)
Hors ligne
Crée donc un local-layout.css dans ./template-common/
avec ceci
.tagLevel5 { font-size: 115%; }
.tagLevel4 { font-size: 100%; }
.tagLevel3 { font-size: 90%; }
.tagLevel2 { font-size: 80%; }
.tagLevel1 { font-size: 70%; }
Si tu en as déjà un complète-le à la fin.
8-)
On aimerait bien avoir un lien pour voir ce que ça donne... 8-)
Hors ligne
merci pour l'info.
ma galerie étant en local pour le moment voici une capture d'écran de l'index de PWG
bonsoir
Hors ligne
C'est vraiment superbe... à mon goût.
On va en discuter dans l'équipe, merci.
8-)
Hors ligne
VDigital a écrit:
Crée donc un local-layout.css dans ./template-common/
avec ceci.tagLevel5 { font-size: 115%; }
.tagLevel4 { font-size: 100%; }
.tagLevel3 { font-size: 90%; }
.tagLevel2 { font-size: 80%; }
.tagLevel1 { font-size: 70%; }Si tu en as déjà un complète-le à la fin.
8-)
On aimerait bien avoir un lien pour voir ce que ça donne... 8-)
j'ai mis ça dans mon local_layout...
.tagLevel10 { font-size: 140%; }
.tagLevel9 { font-size: 135%; }
.tagLevel8 { font-size: 130%; }
.tagLevel7 { font-size: 125%; }
.tagLevel6 { font-size: 120%; }
.tagLevel5 { font-size: 115%; }
.tagLevel4 { font-size: 110%; }
.tagLevel3 { font-size: 100%; }
.tagLevel2 { font-size: 90%; }
.tagLevel1 { font-size: 80%; }
j'ajoute cette possibilité de modif dans mes personnalisations.
merci !!!
Dernière modification par vimages (2007-01-25 21:35:47)
Hors ligne
Tu sais que pour qu'ils soient utilisés, il te faut modifier une $conf...
8-)
Hors ligne
je ne parlais que de la taille ...
Hors ligne
salut,
j'aime bien l'idée alors j'ai essayé d'appliquer le mod, mais pas réussi ... il faut le mettre dans quel fichier le code de tags.php ? le index.php à la racine du site ?
Hors ligne
Bravo, ça fonctionne trés bien.
Juste pour info la partie a copier dans index.php doit l'etre au debut apres les include.
En tout cas chez moi a la fin ça ne fonctionnait pas.
Pour le changement de taille pas de probleme;
Merci
Hors ligne
NadaNoway a écrit:
Juste pour info la partie a copier dans index.php doit l'etre au debut apres les include.
En tout cas chez moi a la fin ça ne fonctionnait pas.
+ 1
Sinon c'est vraiment sympa comme modif. Merci !
Et avec de la couleur ça assure !
.tagLevel15 { font-size: 150%; color: red; } .tagLevel14 { font-size: 145%; } .tagLevel13 { font-size: 140%; color: #00FF00;} .tagLevel12 { font-size: 135%;color: red; } .tagLevel11 { font-size: 130%; color: #00FF00;} .tagLevel10 { font-size: 125%; } .tagLevel9 { font-size: 120%; color: #00FF00;} .tagLevel8 { font-size: 115%; color: red;} .tagLevel7 { font-size: 110%; color: #00FF00;} .tagLevel6 { font-size: 105%; } .tagLevel5 { font-size: 100%;color: red;} .tagLevel4 { font-size: 90%; } .tagLevel3 { font-size: 80%; color: red;} .tagLevel2 { font-size: 70%; color: #00FF00;} .tagLevel1 { font-size: 60%; }
Dernière modification par dmaille (2007-03-28 21:43:14)
Hors ligne
Bonjour, j'essaie d'installer ces deux scripts mais rien n'y fait. J'ai pwg 1,7. J'ai modifié le fichier index.php à la racine du site comme suit :
//--------------------------------------------------------------------- include
define('PHPWG_ROOT_PATH','./');
include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
include(PHPWG_ROOT_PATH.'include/section_init.inc.php');
// BEGIN AJOUT TAGS
// +-----------------------------------------------------------------------+
// | functions |
// +-----------------------------------------------------------------------+
function counter_compare($a, $b)
{
if ($a['counter'] == $b['counter'])
{
return tag_id_compare($a, $b);
}
return ($a['counter'] < $b['counter']) ? +1 : -1;
}
function tag_id_compare($a, $b)
{
return ($a['tag_id'] < $b['tag_id']) ? -1 : 1;
}
// +-----------------------------------------------------------------------+
// | initialization |
// +-----------------------------------------------------------------------+
define('PHPWG_ROOT_PATH','./');
include_once(PHPWG_ROOT_PATH.'include/common.inc.php');
check_status(ACCESS_GUEST);
// +-----------------------------------------------------------------------+
// | page header and options |
// +-----------------------------------------------------------------------+
$template->set_filenames(array('tags'=>'tags.tpl'));
// +-----------------------------------------------------------------------+
// | tag cloud construction |
// +-----------------------------------------------------------------------+
// find all tags available for the current user
$tags = get_available_tags(explode(',', $user['forbidden_categories']));
// we want only the first most represented tags, so we sort them by counter
// and take the first tags
usort($tags, 'counter_compare');
$tags = array_slice($tags, 0, $conf['full_tag_cloud_items_number']);
// depending on its counter and the other tags counter, each tag has a level
$tags = add_level_to_tags($tags);
// we want tags diplayed in alphabetic order
usort($tags, 'name_compare');
// display sorted tags
foreach ($tags as $tag)
{
$template->assign_block_vars(
'tag',
array(
'URL' => make_index_url(
array(
'tags' => array(
array(
'id' => $tag['tag_id'],
'url_name' => $tag['url_name'],
),
),
)
),
'NAME' => $tag['name'],
'TITLE' => $tag['counter'],
'CLASS' => 'tagLevel'.$tag['level'],
)
);
}
// +-----------------------------------------------------------------------+
// | html code display |
// +-----------------------------------------------------------------------+
$template->assign_block_vars('title',array());
// END AJOUT TAGS
trigger_action('loc_begin_index');
et le fichier index.tpl comme indiqué.
mais rien ne fonctionne.
qqun a-t-il une idée?