Fork me on GitHub






Modification block Last commented item de MyComments
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Bonjour tout le monde,

J'utilise le module MyComments et notamment son super block dernier sujet commenté... je souhaiterais juste récupérer une info supplémentaire à afficher dans le block...

Je voudrais récupérer le nombre de commentaires par item afin de visualiser la popularité d'un sujet...

Quelqu'un aurait une idée de comment faire ?

J'insere le code du block tel qu'il est si ça peut faciliter quelq'un à m'aider, merci d'avance

function b_mycomments2_show($options)
{
    global 
$xoopsUser;
    include_once 
XOOPS_ROOT_PATH.'/modules/mycomments/include/comment_constants.php';
    
$limit 10// If you  are not getting suficient results, please increase a little more this number
    
$block $comment_config $trackedItems = array();

    
$comment_handler =& xoops_getmodulehandler('comment','mycomments');
    
$moduleperm_handler =& xoops_gethandler('groupperm');
    
$member_handler =& xoops_gethandler('member');
    
$module_handler =& xoops_gethandler('module');

    
$criteria = new CriteriaCompo(new Criteria('com_status'MYCOM_ACTIVE));
    
$criteria->setLimit(intval($options[0] * $limit));
    
$criteria->setSort('com_created');
    
$criteria->setOrder('DESC');

    
$comments $comment_handler->getObjects($criteriatrue);
    
$modules $module_handler->getObjects(new Criteria('hascomments'1), true);

    
$count 0;
    foreach (
array_keys($comments) as $i) {
        if ( 
$count == $options[0])  continue;
        
$mid $comments[$i]->getVar('com_modid');

        if (
$xoopsUser) {
            if (!
$moduleperm_handler->checkRight('module_read'$mid$xoopsUser->getGroups())) {
                continue;
            }
        } else {
            if (!
$moduleperm_handler->checkRight('module_read'$midXOOPS_GROUP_ANONYMOUS)) {
                continue;
            }
        }

          
$com['module'] = '<a href="'.XOOPS_URL.'/modules/'.$modules[$mid]->getVar('dirname').'/">'.'<img src="'.XOOPS_URL '/modules/' $modules[$mid]->getVar('dirname''n') . '/images/ico.gif" />'.'</a>';
        if (!isset(
$comment_config[$mid])) {
            
$comment_config[$mid] = $modules[$mid]->getInfo('comments');
        }
        
$com['id'] = $i;
        
$com['title'] = '<a href="'.XOOPS_URL.'/modules/'.$modules[$mid]->getVar('dirname').'/'.$comment_config[$mid]['pageName'].'?'.$comment_config[$mid]['itemName'].'='.$comments[$i]->getVar('com_itemid').'&com_id='.$i.'&com_rootid='.$comments[$i]->getVar('com_rootid').'&'.htmlspecialchars($comments[$i]->getVar('com_exparams')).'#comment'.$i.'">'.$comments[$i]->getVar('com_title').'</a>';
        
$com['icon'] = htmlspecialchars$comments[$i]->getVar('com_icon'), ENT_QUOTES );
        
$com['icon'] = ($com['icon'] != '') ? $com['icon'] : 'icon1.gif';
        
$com['time'] = formatTimestamp($comments[$i]->getVar('com_created'),'s');
        if (
$comments[$i]->getVar('com_uid') > 0) {
            
$poster =& $member_handler->getUser($comments[$i]->getVar('com_uid'));
            if (
is_object($poster)) {
                
$com['poster'] = '<a href="'.XOOPS_URL.'/userinfo.php?uid='.$comments[$i]->getVar('com_uid').'">'.$poster->getVar('uname').'</a>';
            } else {
                
$com['poster'] = $GLOBALS['xoopsConfig']['anonymous'];
            }
        } else {
            
$com['poster'] = $GLOBALS['xoopsConfig']['anonymous'];
        }
        if (
count($trackedItems) > 0) {
            
$itemMatch false;
            foreach (
array_keys($trackedItems) as $j) {
                if (
$comments[$i]->getVar('com_modid') == $trackedItems[$j]['modid'] && $comments[$i]->getVar('com_itemid') == $trackedItems[$j]['itemid']) {
                    
$itemMatch true;
                }
            }
            if (!
$itemMatch) {
                
$block['comments'][] =& $com;
                
$trackedItems[] = array('modid' => $comments[$i]->getVar('com_modid'), 'itemid' => $comments[$i]->getVar('com_itemid') );
                
$count++;
            }
        } else {
            
$block['comments'][] =& $com;
            
$trackedItems[] = array('modid' => $comments[$i]->getVar('com_modid'), 'itemid' => $comments[$i]->getVar('com_itemid') );
            
$count++;
        }
        unset(
$com);
    }
    return 
$block;
}

Posté le : 26/01/2013 14:49
Partager Twitter Partagez cette article sur GG+
Re: Modification block Last commented item de MyComments
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Pour ceux que ça intéresserait, j'ai finalement réussi en ajoutant ceci dans le fichier php du block :

$com['nbcomment']   = xoops_comment_count($mid$comments[$i]->getVar('com_itemid'));


et en utilisant ceci
<{$comment.nbcomment}>
pour l'appeler coté surcharge html...

Voilà

Posté le : 28/01/2013 17:47
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



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

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