Fork me on GitHub




(1) 2 »


Home Menu et $xoopsDB
Newbie
Inscrit: 12/01/2010 11:26
De GOMA
Messages: 16
Bonjour, je développe un site avec CMS Xoops alors
1)je veux que au niveau de MENU PRINCIPAL(MAIN MENU) Home et aussi certains Menus que je veux spécifier et que ces derniers soient accéssibles même aux users anomynes (car je vais déplacer ces menus en haut)
2)quelle méthode de la classe $xoopsDB pour connaître le nombre de rows dans une requete SQL de type select?

Posté le : 14/04/2010 10:47
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Newbie
Inscrit: 12/01/2010 11:26
De GOMA
Messages: 16
Bonjour, Pour la sous question 2) j'ai trouvé une technique pour avoir le nombre de rows dans un recordset

$total=count($xoopsDB->fetchArray())+1;

Mais pour la question 1) qui consiste à cacher(ne pas afficher) certains onglets de menu principal:HOME,News,My Tube
je ne veux pas que ces onglets apparaissent sur le Main Menu
Merci

Posté le : 14/04/2010 15:37
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
En vrac une solution que j'utilise pour faire un menu horizontal "automatique"
<?php
function get_system_main_menu_show()
{
    global 
$xoopsUser,$xoopsModule;
    
$block = array();
    
$block['lang_home'] = _MB_SYSTEM_HOME;
    
$block['lang_close'] = _CLOSE;
    
$module_handler =& xoops_gethandler('module');
    
$criteria = new CriteriaCompo(new Criteria('hasmain'1));
    
$criteria->add(new Criteria('isactive'1));
    
$criteria->add(new Criteria('weight'0'>'));
    
$modules $module_handler->getObjects($criteriatrue);
    
$moduleperm_handler =& xoops_gethandler('groupperm');
    
$groups is_object($xoopsUser) ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS;
    
$read_allowed $moduleperm_handler->getItemIds('module_read'$groups);
    foreach (
array_keys($modules) as $i) {
        if (
in_array($i$read_allowed)) {
            
$block['modules'][$i]['name'] = $modules[$i]->getVar('name');
            
$block['modules'][$i]['directory'] = $modules[$i]->getVar('dirname');
            
$sublinks $modules[$i]->subLink();
            if ((
count($sublinks) > 0) ) {
                foreach(
$sublinks as $sublink){
                    
$block['modules'][$i]['sublinks'][] = array('name' => $sublink['name'], 'url' => XOOPS_URL.'/modules/'.$modules[$i]->getVar('dirname').'/'.$sublink['url']);
                }
            } else {
                
$block['modules'][$i]['sublinks'] = array();
            }
        }
    }
    return 
$block;
}

$MainMenu get_system_main_menu_show();
$this->assign'ex_mainmenu'$MainMenu );
if ( 
is_object($xoopsModule) ) {
    
$this->assign('ex_moduledir'$xoopsModule->getVar('dirname'));
    
$this->assign('ex_module_name'$xoopsModule->getVar('name') );
}
?>

<ul id="default_nav">
<
li class="default_top">
<{if ! 
$ex_moduledir || $xoops_dirname == "pm" }>
    <
a href="<{$xoops_url}>" class="default_top_link default_selected" alt="<{$smarty.const._MB_SYSTEM_HOME}>" title="<{$smarty.const._MB_SYSTEM_HOME}>">
<{else}>
    <
a href="<{$xoops_url}>" class="default_top_link" alt="<{$smarty.const._MB_SYSTEM_HOME}>" title="<{$smarty.const._MB_SYSTEM_HOME}>">
<{/if}>
    <
span> <{$smarty.const._MB_SYSTEM_HOME}> </span>
</
a>
</
li>
    <{foreach 
item=module from=$ex_mainmenu.modules }> 
    <
li class="default_top">
        <{if 
$module.directory == $ex_moduledir }>
        <
a href="<{$xoops_url}>/modules/<{$module.directory}>/" class="default_top_link default_selected" alt="<{$module.name}>" title="<{$module.name}>" >
        <{if 
$module.sublinks }>
            <
span class="default_down"> <{$module.name}> </span> </a>
            <
ul class="default_sub">
                <{foreach 
item=sublink from=$module.sublinks}> 
                <
li >
                <
a href="<{$sublink.url}>" alt="<{$sublink.name}>" title="<{$sublink.name}>"><{$sublink.name}></a>
                </
li>
                <{/foreach}> 
            </
ul>
        <{else}>
            <
span> <{$module.name}> </span> </a>
        <{/if}>
    <{else}>
        <
a href="<{$xoops_url}>/modules/<{$module.directory}>/" class="default_top_link" alt="<{$module.name}>" title="<{$module.name}>" >
        <{if 
$module.sublinks }>
            <
span class="default_down"> <{$module.name}> </span> </a>
            <
ul class="default_sub">
                <{foreach 
item=sublink from=$module.sublinks}> 
                <
li >
                <
a href="<{$sublink.url}>" alt="<{$sublink.name}>" title="<{$sublink.name}>"><{$sublink.name}></a>
                </
li>
                <{/foreach}> 
            </
ul>
        <{else}>
            <
span> <{$module.name}> </span> </a>
        <{/if}>
    <{/if}>
    </
li>
    <{/foreach}> 
</
ul>

Pour afficher ou non le module, tu peux mettre "0" en poids (ou ordre) dans l'administration des modules

@+

Posté le : 14/04/2010 16:13

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Newbie
Inscrit: 12/01/2010 11:26
De GOMA
Messages: 16
Bonsoir,
Vous voyez quand vous configurez xoops et que vous prenez le theme par défaut, le MENU MENU est généralement à gauche avec un onglet HOME,je veux enlever onglet HOME du MAIN MENU
j'ai cherché je n'ai pas trouvé.
Merci

Posté le : 14/04/2010 16:41
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
en utilisant la surcharge du thème, tu modifies le template system_block_mainmenu.html du module system comme ceci :
<div id="mainmenu">
    <!-- 
class="menuTop <{if !$block.nothome}>maincurrent<{/if}>" href="<{xoAppUrl }>" title="<{$block.lang_home}>"><{$block.lang_home}></-->
    <!-- 
start module menu loop -->
    <{foreach 
item=module from=$block.modules}>
        <
class="menuMain <{if $module.highlight}>maincurrent<{/if}>" href="<{$xoops_url}>/modules/<{$module.directory}>/" title="<{$module.name}>"><{$module.name}></a>
        <{foreach 
item=sublink from=$module.sublinks}>
            <
class="menuSub" href="<{$sublink.url}>" title="<{$sublink.name}>"><{$sublink.name}></a>
        <{/foreach}>
    <{/foreach}>
    <!-- 
end module menu loop -->


autre solution, dans la feuille de style de ton thème, tu ajoutes :
.menuTop {displaynone;}


@+
</div>

Posté le : 14/04/2010 17:19

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Newbie
Inscrit: 12/01/2010 11:26
De GOMA
Messages: 16
Merci bien vraiment,j'ai utilisé la deuxième option dans les styles de mon thème et tout marche comme je voulais.
Merci

Posté le : 15/04/2010 10:16
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
@KRIS

Bonjour ! Ce post correspond exactement à ce que je souhaite faire, un main menu horizontal.

Les 2 blocs de code que tu indiques se situent où ? Le premier est-il une extension de system_blocks.php ? Le 2eme remplace t'il globalnav.html ?

J'ai essayé de faire ça, mais j'ai une page blanche, avec cette erreur fatale:

Fatal error: Call to undefined method XoopsBlock::assign() in C:\Users\LionHell\Documents\Xoops244\modules\system\blocks\system_blocks.php on line 138

La méthode assign n'est pas reconnue dans system_blocks.php

Posté le : 16/04/2010 10:03

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972

Posté le : 16/04/2010 13:27

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Semi pro
Inscrit: 13/04/2006 23:26
De Aix en Provence
Messages: 1751
您不可编辑自己的帖子

这两行代码中的"<{xoImgUrl xxx}>"有时不能被替换为正确的路径,需要修正一下,我在自己的网站中是用真实的路径来代替的,希望谁来提供一个通用的解决方法。

OK j'ai tout compris !

Posté le : 16/04/2010 15:57

signé: LionHell
Partager Twitter Partagez cette article sur GG+
Re: Home Menu et $xoopsDB
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
regardes ce qui est fait dans ce thème --> http://xoops.org.cn/modules/wfdownloads/visit.php?cid=6&lid=665

Posté le : 16/04/2010 16:38

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

53 Personne(s) en ligne (37 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 53 | Plus ...