Uutiset:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu
Advertisement:

ajout d'un bouton "Portail"

Aloittaja lance_yien, toukokuu 13, 2009, 09:51:40 AP

« edellinen - seuraava »

lance_yien

Bonjour à tous,

J'ai ajouté un bouton "Portail" dans le menu en suivant ce topic: http://www.simplemachines-fr.org/wiki/doku.php?id=astuces:bouton

C'est fonctionnel MAIS avec un petit problème sur le graphique pas catastrophique mais génant :):

Qu'on clique sur "Portail" ou sur "Forum" c'est toujours ce dernier qui reste activé  sous n'importe quel thème (Core, dilbermc ou overview115). Pas de souci avec le restant des boutons.

Le lien vers mon site est dans ma signature ci-dessous.

Merci pour toute idée de solution ;)

GravuTrad

<td align="center" class="menubg2">
<a href="http://lanceyien.info/Forum/index.php">Forum</a>


pourquoi c'est pas la classe menubg comme les autres?
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

lance_yien

Bonjour GravuTrad,

très bonne question :)

J'ai nulle part ce class="menubg2"

extraits de mes Index-template:

thème dilbermc

// Dummy place holder, to set the height
    echo'
                <td align="center" class="menubg" height="30" width="20">
                </td>';

    // Show the [portail] button.
    echo'
                <td align="center" class="menubg' , $current_action == 'portail' ? '2' : '' , '">
                    <a href="../index.php">Portail</a>
               
                </td>';
    // Show the [home] button.
    echo'
                <td align="center" class="menubg' , $current_action == 'home' ? '2' : '' , '">
                    <a href="', $scripturl, '">' , $txt[103] , '</a>
                </td>';
    // Show the [help] button.
    echo'
                <td align="center" class="menubg' , $current_action == 'help' ? '2' : '' , '">
                    <a href="', $scripturl, '?action=help">' , $txt[119] , '</a>
                </td>';
   


Thème Core:

// Show the start of the tab section.
    echo '
            <table cellpadding="0" cellspacing="0" border="0" style="margin-left: 10px;">
                <tr>
                    <td class="maintab_' , $first , '">&nbsp;</td>';

    // Show the [Portal] button.
    echo ($current_action=='home' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
                <td valign="top" class="maintab_' , $current_action == 'home' ? 'active_back' : 'back' , '">
                    <a href="http://lanceyien.info/index.php">Portail</a>
                </td>' , $current_action == 'home' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

    // Show the [home] button.
    echo ($current_action=='home' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
                <td valign="top" class="maintab_' , $current_action == 'home' ? 'active_back' : 'back' , '">
                    <a href="', $scripturl, '">' , $txt[103] , '</a>
                </td>' , $current_action == 'home' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

    // Show the [help] button.
    echo ($current_action == 'help' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
                <td valign="top" class="maintab_' , $current_action == 'help' ? 'active_back' : 'back' , '">
                    <a href="', $scripturl, '?action=help">' , $txt[119] , '</a>
                </td>' , $current_action == 'help' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

   


a+

GravuTrad

#3
Bizarre car pourtant on a ça en code, qui n'apparait pas dans ta citation:

            <td align="center" class="menubg2">
               <a href="http://lanceyien.info/Forum/index.php?PHPSESSID=be71a0df56ad4057e2b2ba5459178e25&amp;">Forum</a>


Tu as quoi comme mods?
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

lance_yien

Je te crois, je te crois :)

je ne sais pas à quoi ça peut correspondre.

Veux-tu que je mette le Thème Core par défaut?

Mes mods installés:
1.      Spoiler Show And Hide       1.0.2
2.     Last Active On MemberList     1
3.     The Rules     1.0
4.     EmailValidator     1.0
5.     Wrapper Mod     0.1
6.     Contact Page     1.1
7.     SMF Shoutbox     1.16b
8.     Treasury     2.11
9.     Date_Registerd on post     1.0
10.     Google Member Map     1.0 beta
11.     Trad Fr de Google Member Map v1.0b
12.     Trad Fr de Google Member Map v1.0b
13.     Message for your guests     0.1
14.     Anti-Spam Verification Questions     
15.     Google Verification META Tag     1.0
16.     Activate account redirection     0.1
17.     Googlebot & Spiders Mod     2.0.4

GravuTrad

ton portail est un mod? wrapper mod c'est quoi?
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

lance_yien

#6
Portail est juste une page d'accueil (index.php) créé avec SSI (pour avoir le mm graphique que le forum) et stockée a la racine du site: http://lanceyien.info/index.php

Wrapper? je ne sais pas. Sûrement un essai que j'ai oublié de désinstaller
Je le désinstalle et te dirai s'il y a un changement.
je suis en train de chercher à quoi correspond l'url que tu m'as donnée et surtout où la trouver. Aucun terme n'apparait dans la sauvegarde de la  BDD ni dans les Index-template des thèmes.

EDIT pour Wrapper: http://custom.simplemachines.org/mods/index.php?mod=1366

Merci :)

GravuTrad

#7
sympa comme petit mod.

et dans BoardIndex?
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

lance_yien

Lainaus käyttäjältä: GravuTrad - toukokuu 14, 2009, 08:27:19 AP
...
et dans display.template?

Pas de class="menubg2" non plus ni PHPSESSID=be71a0df56ad4057e2b2ba5459178e25&amp;

veux-tu que j'attache mon fichier complet? parce que je ne sais pas ce qu'il faut chercher

GravuTrad

dans BoardIndex....

A part là, je vois pas trop ailleurs...
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

GravuTrad

je viens de regarder, moi chaque bouton s'active correctement (sous ff)....sauf...ton bouton portail....

donc lookons ton code à ce propos....
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

GravuTrad

tu as looké dans boardindex pour menubg2? (il est bien défini dans ton style.css dilber mc, donc utilisable)

On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

GravuTrad

sinon mef car je crois que la barre de menu de dilber mc est gérée par une routine ajax...et il se peut que l'astuce bouton ne soit pas complète à ce propos...
On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

lance_yien

Lainaus käyttäjältä: GravuTrad - toukokuu 14, 2009, 08:40:57 AP
je viens de regarder, moi chaque bouton s'active correctement (sous ff)....sauf...ton bouton portail....

Je suis sous FF à 99% du temps et c'est justement le pb principal: le clic sur le "Portail" active plutôt celui du Forum et je viens de voir que le clic sur le bouton "Règlement" fait la mm chose

donc lookons ton code à ce propos....

Je n'ai rien trouvé sous mon compte ni en me déconnectant (compte Invité)

                         
Lainaadans BoardIndex....

A part là, je vois pas trop ailleurs.

et

Lainaatu as looké dans boardindex pour menubg2? (il est bien défini dans ton style.css dilber mc, donc utilisable)

Non plus!

c'est OK pour le style.css
                                                                                                                                           

lance_yien

Lainaus käyttäjältä: GravuTrad - toukokuu 14, 2009, 08:56:08 AP
sinon mef car je crois que la barre de menu de dilber mc est gérée par une routine ajax...et il se peut que l'astuce bouton ne soit pas complète à ce propos...

Mais c'est la mm chose avec Core



lance_yien

#17
avancée notable :)

- il n'y a plus de problème avec le bouton "Règlements"
- Portail et Forum ne s'activent plus en mm temps

On viens bien y arriver, n'est-ce pas GravuTrad ?

GravuTrad

On a toujours besoin d'un plus petit que soi! (Petit!Petit!)


Think about Search function before posting.
Pensez à la fonction Recherche avant de poster.

lance_yien

Dans Index-template:

J'ai rajouté ce qui est en rouge

Lainaa// Work out where we currently are.
    $current_action = 'home';
    if (in_array($context['current_action'], array('admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers')))
        $current_action = 'admin';
    if (in_array($context['current_action'], array('rules','portail','treasury','contact','search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm')))
        $current_action = $context['current_action'];
    if ($context['current_action'] == 'search2')
        $current_action = 'search';

    if ($context['current_action'] == 'googlemap')
        $current_action = 'googlemap';
    if ($context['current_action'] == 'portail')
        $current_action = 'portail';
    if ($context['current_action'] == 'rules')
     $current_action = 'rules';
...


maximus23

Bonsoir,

Pour que le bouton fonctionne il faut que la var $current_action soit initialisée. Tant que cela ne sera pas fait le chainage action ne sera pas reconnu et considéré comme vide ce qui est la valeur de l'action courante par défaut. Donc il faudrait définir dans les fichiers sources de Smf une variable action qui pourrait être identifiée et comparée à l'action en court pour ouvrir les paramètres du portail en lui assignant une action externe. Je suppose que ta page est une page basée sur le ssi de smf et de ce fait que tu rappeles le menu à l'intérieur de celui-ci :)

Je vois que tu utilises le mod contact donc analyse le code utilisé pour le bouton et tu vas très vite comprendre le fonctionnement :)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

lance_yien


RÉSOLU!

Lainaus käyttäjältä: maximus23 - toukokuu 19, 2009, 11:13:34 IP
Bonsoir,

Pour que le bouton fonctionne il faut que la var $current_action soit initialisée. Tant que cela ne sera pas fait le chainage action ne sera pas reconnu et considéré comme vide ce qui est la valeur de l'action courante par défaut. Donc il faudrait définir dans les fichiers sources de Smf une variable action qui pourrait être identifiée et comparée à l'action en court pour ouvrir les paramètres du portail en lui assignant une action externe. Je suppose que ta page est une page basée sur le ssi de smf et de ce fait que tu rappeles le menu à l'intérieur de celui-ci :)

Je vois que tu utilises le mod contact donc analyse le code utilisé pour le bouton et tu vas très vite comprendre le fonctionnement :)

Bonjour maximus23,

Ton raisonnement était tellement logique mais trop dur pour moi à appliquer que je me suis redirigé vers l'article en référence http://www.simplemachines-fr.org/wiki/doku.php?id=astuces:bouton pour le relire et la solution était dans le # b. utilisez l'en tête et le menu
Ma page contenait ce code récupéré sur le Forum Anglais:
<?php
ob_start
();
$ssi_layers = array('main');
require_once(
'/.../Forum/SSI.php');?>


Merci et bonne journée ;)

Advertisement: