Fork me on GitHub

Rapport de message :*
 

Re: Mettre un bloc dans un bloc ?

Titre du sujet : Re: Mettre un bloc dans un bloc ?
par DuGris sur 31/03/2006 01:01:39

J'avais fait quelque chose de similaire pour créer un "block edito" pour smartsection.

Le principe est d'utilisé les class et fonctions de xoops et les class, fonctions et blocks du module et de leurs paramétrages (sans qu'ils soient activés dans l'admin).

Avant tout il faut repérer dans le fichier xoops_version les "id" des blocks à afficher (en rouge dans l'exemple)
$modversion['blocks'][b][color=CC0000][1][/color][/b]['file'] = "wfdownloads_top.php";
$modversion['blocks'][b][color=CC0000][2][/color][/b]['file'] = "wfdownloads_top.php";


Voici le code pour wfdownloads

// Acquisition des contenus des blocks
include_once XOOPS_ROOT_PATH "/class/xoopsmodule.php";
include_once 
XOOPS_ROOT_PATH "/class/xoopsblock.php";
include_once 
XOOPS_ROOT_PATH "/class/template.php";
global 
$xoopsDB;

$xoopsModule =& XoopsModule::getByDirname("[b][color=009900]wfdownloads[/color][/b]"false);
$moduleid $xoopsModule->getVar('mid');

$xoopsTpl = new XoopsTpl();

$sql "SELECT bid FROM " $xoopsDB->prefix("newblocks") . " WHERE mid=" $moduleid " and func_num in [b][color=CC0000](1,2)[/color][/b]";
$res $xoopsDB->query($sql);
while ( list(
$bid) = $xoopsDB->fetchRow($res) ) {
    
$xoopsblock = new XoopsBlock$bid );

    
$btpl $xoopsblock->getVar('template') != '' $xoopsblock->getVar('template') : "system_block_dummy.html";

    
$bresult =& $xoopsblock->buildBlock();
    if ( !
$bresult) {
        continue;
    }
    
$xoopsTpl->assign_by_ref('block'$bresult);
    
$bcontent =& $xoopsTpl->fetch('db:'.$btpl'blk_'.$xoopsblock->getVar('bid'));

    
$blocks[$bid]['title']   = $xoopsblock->getVar('title');
    
$blocks[$bid]['content'] = $bcontent;
}


// Affichage du contenu des blocks
foreach ($blocks as $block) {
    echo 
'<div style="font-weight:bold; font-size: 10px; text-align: left;">' $block['title'] . '</div>';
    echo 
'<div style="margin-bottom: 10px;">' $block['content'] . '</div>';
}

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

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