Fork me on GitHub




« 1 ... 9 10 11 (12) 13 14 »


Re: TDMPicture
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Citation :
alain01 a écrit :
Citation :
moss a écrit :
Je me pose donc plusieurs questions. Est-il possible de rapatrier coté front-office les catégories et sous catégories à plat de manière plus classique en lieu et place de cette barre ?

Réponse habituelle : Surcharge des pages du module


Le soucis c'est qu'aujourd'hui tout le système de navigation est envoyé à travers une balise <{$tree_display}>, donc je sais pas comment faire...

Posté le : 23/02/2013 12:54
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
Alors, il te faut trouver cette fonction, certainement déclarée dans le fichier portant le même nom mais avec l'extension php et ensuite, comprendre ce bout de code pour modifier le contenu de cette balise.

Cela revient à hacker le module.

SI tu ne trouves pas la fonction dans ce fichier, fait une recherche dans tout le module, sur les fichiers en php.

Posté le : 23/02/2013 13:32

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
J'ai réussi à revenir au niveau de ce qu'on voit dans ce post de venom, https://www.frxoops.org/modules/newbb/ ... id=223000#forumpost223000 mais impossible d'afficher les sous categories à plat en dehors du menu déroulant, cela part dans une fonction makeselbox, et après ça dépasse mes compétences

Si quelqu'un a une idée, merci d'avance

Posté le : 24/02/2013 11:34
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
Bonsoir,

@moss
On peut encore le modifier pour l'adapter exactement comme tu le veux, mais je me suis inspirée de TDMDownloads

dans modules/TDMPicture/index.php

Après
$xoopsTpl->assign('display_tris'$mytree->makeSelTris($_SERVER['PHP_SELF'], ""$tris$order));
//


Ajoute
//Pour les permissions
$categories TDMPicture_MygetItemIds('tdmpicture_catview''TDMPicture');        
//Tableau des catégories
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('cat_display'1));
$criteria->add(new Criteria('cat_id''(' implode(','$categories) . ')','IN'));
$criteria->setSort('cat_weight ASC, cat_title');
$criteria->setOrder('ASC');
$picturescat_arr $cat_handler->getall($criteria);
$mytree = new XoopsObjectTree($picturescat_arr'cat_id''cat_pid');
$xoopsTpl->assign('nb_catcol'2);//2 est le nombre de colonnes pour afficher les catégories
$count 1;
foreach (
array_keys($picturescat_arr) as $i) {
    if (
$picturescat_arr[$i]->getVar('cat_pid') == 0){ 
        
$xoopsTpl->append('categories', array('image' => TDMPICTURE_CAT_URL $picturescat_arr[$i]->getVar('cat_img'), 'id' => $picturescat_arr[$i]->getVar('cat_id'), 'title' => $picturescat_arr[$i]->getVar('cat_title'), 'count' => $count));
        
$count++;
    }
}


dans modules/TDMPicture/viewcat.php

Après
//$xoopsTpl->assign('nav_bar', $GLOBALS['navbar']);


Ajoute
//Pour les permissions
$categories TDMPicture_MygetItemIds('tdmpicture_catview''TDMPicture');        
//Tableau des catégories
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('cat_display'1));
$criteria->add(new Criteria('cat_pid'$ct));
$criteria->add(new Criteria('cat_id''(' implode(','$categories) . ')','IN'));
$criteria->setSort('cat_weight ASC, cat_title');
$criteria->setOrder('ASC');
$picturescat_arr $cat_handler->getall($criteria);
$mytree = new XoopsObjectTree($picturescat_arr'cat_id''cat_pid');
$xoopsTpl->assign('nb_catcol'2);//2 est le nombre de colonnes pour afficher les catégories
$count 1;
foreach (
array_keys($picturescat_arr) as $i) {
        
$xoopsTpl->append('categories', array('image' => TDMPICTURE_CAT_URL $picturescat_arr[$i]->getVar('cat_img'), 'id' => $picturescat_arr[$i]->getVar('cat_id'), 'title' => $picturescat_arr[$i]->getVar('cat_title'), 'count' => $count));
        
$count++;
}


dans modules/TDMPicture/include/functions.php

A la fin du fichier et avant
?>


Ajoute la fonction
//Fonction pour affichage catégories suivant pemissions
function TDMPicture_MygetItemIds($permtype,$dirname)
{
    global 
$xoopsUser;
    static 
$permissions = array();
    if(
is_array($permissions) && array_key_exists($permtype$permissions)) {
        return 
$permissions[$permtype];
    }
       
$module_handler =& xoops_gethandler('module');
       
$tdmModule =& $module_handler->getByDirname($dirname);
       
$groups is_object($xoopsUser) ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS;
       
$gperm_handler =& xoops_gethandler('groupperm');
       
$categories $gperm_handler->getItemIds($permtype$groups$tdmModule->getVar('mid'));
    return 
$categories;
}


Et dans les templates modules/TDMPicture/templates/
tdmpicture_index.html
tdmpicture_viewcat.html

<!-- Start Show categories -->
<{if 
count($categoriesgt 0}>  
    <
table border="0" cellpadding="0" align="center">
        <
tr>
       <{foreach 
item=category from=$categories}>
            <
td>
            <
a title="<{$category.title}>" href="<{$xoops_url}>/modules/TDMPicture/viewcat.php?ct=<{$category.id}>"><{$category.title}></a>
            </
td>
      <{if 
$category.count is div by $nb_catcol}>
        </
tr>
        <
tr>
      <{/if}>
      <{/foreach}>
        </
tr>
    </
table>
<{/if}>  
   <!-- 
End Show categories -->


Posté le : 25/02/2013 20:29

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Merci Nikita

J'avais réussi à en arriver là, mais je souhaite en plus avoir les sous-catégories à plat, celle qui sont dans le menu déroulant...

Et c'est là que ca se complique, car pour apparaitre dans ce menu déroulant, cela se passe dans une fonction... et j'arrive donc pas à l'afficher en dehors de ce menu déroulant

Posté le : 27/02/2013 22:48
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Semi pro
Inscrit: 26/03/2004 17:57
De Metz
Messages: 1210
Salut, regarde du coter de makeSelBoxOptions ou makeSelBoxOptions2

Posté le : 28/02/2013 10:13
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
Citation :
J'avais réussi à en arriver là


Tu peux nous montrer où tu étais exactement arriver, on peut voir les codes ?


Posté le : 28/02/2013 10:21

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Voici le code utilisé coté html

<{$display_cat}>


et coté php
$criteria = new CriteriaCompo();
        
$criteria->add(new Criteria('cat_display'1));
//        $criteria->add(new Criteria('cat_index', 1));
        
$criteria->setSort('cat_weight');
        
$criteria->setOrder('ASC');
/*        $criteria->add(new Criteria('cat_display', 1));*/
        
$cat_arr $cat_handler->getall($criteria);
        
$mytree = new TDMObjectTree($cat_arr'cat_id''cat_pid');
//        asigne les URL
    //    define("TDM_CAT_URL", TDMPICTURE_CAT_URL);
//        define("TDM_CAT_PATH", TDMPICTURE_CAT_PATH);
//        define("TDM_CAT_LINK", "viewcat.php");
//        $cat_display = $xoopsModuleConfig['tdmpicture_cat_display'];
//        $cat_cel = $xoopsModuleConfig['tdmpicture_cat_cel'];
        
$display_cat $mytree->makeCatBox($file_handler'cat_title','-'$cat false);
        
        
$xoopsTpl->assign('display_cat'$display_cat);
        
        
        
$numcat $cat_handler->getCount($criteria);
        
$xoopsTpl->assign('numcat'$numcat);


Cela m'affiche bien les catégories mais les sous-catégories sont dans un menu déroulant, hors je les souhaites les une en dessous des autres à plat... et idéalement avec le nombre de photos dans chaque lol

Merci en tout cas de te pencher sur ce sujet

Posté le : 28/02/2013 23:28
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Merci Venom, j'avais pas bien vu ton message, en effet cela se passe du coté de ces fonctions, mais je comprend pas bien ce qui se passe dedans, je suis pas du tout developpeur, j'essai juste de bidouiller en comprenant... lol

Du coup, en allant du coté de la solution de nikita, j'ai observé TDM Downloads et j'avance un peu...

Voici ce que j'ai mis coté php
$categories TDMPicture_MygetItemIds('tdmpicture_cat''TDMPicture');

//tableau des téléchargements
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('file_display'0'!='));
$criteria->add(new Criteria('cat_id''(' implode(','$categories) . ')','IN'));
$file_arr $file_handler->getAll($criteria);
$file_count $file_handler->getCount($criteria);
$xoopsTpl->assign('lang_thereare',$file_count);
             
             
//tableau des catégories
$criteria = new CriteriaCompo();
$criteria->setOrder('ASC');
$criteria->setSort('cat_weight');
$criteria->add(new Criteria('cat_display'1));    
$cat_arr $cat_handler->getAll($criteria);
$mytree = new TDMObjectTree($cat_arr'cat_id''cat_pid');

//affichage des catégories
$count 1;
$keywords '';
foreach (
array_keys($cat_arr) as $i) {
    if (
$cat_arr[$i]->getVar('cat_pid') == 0){
         
$totalpictures TDMPicture_NumbersOfEntries($mytree$categories$file_arr$cat_arr[$i]->getVar('cat_id'));
        
$subcategories_arr $mytree->getFirstChild($cat_arr[$i]->getVar('cat_id'));
        
$chcount 0;
        
$subcategories '';
        
//pour les mots clef
        
$keywords .= $cat_arr[$i]->getVar('cat_title') . ',';
        foreach (
array_keys($subcategories_arr) as $j) {
                
$subcategories .= '<li><a href="' XOOPS_URL '/modules/TDMPicture/viewcat.php?ct=' $subcategories_arr[$j]->getVar('cat_id') ."&tris=".$tris."&limit=".$limit.'">' $subcategories_arr[$j]->getVar('cat_title') . '</a></li>' ;
                
$keywords .= $cat_arr[$i]->getVar('cat_title') . ',';
                
$chcount++;
        }
        
$xoopsTpl->append('categories', array('id' => $cat_arr[$i]->getVar('cat_id'), 'title' => $cat_arr[$i]->getVar('cat_title'), 'subcategories' => $subcategories'totalpictures' => $totalpictures'count' => $count));
        
$count++;
    }
}


et coté html dans le template j'ai mis ça
<{$lang_thereare}>

  <!-- 
Start category loop -->
        <{foreach 
item=category from=$categories}>


            <
a href="<{$xoops_url}>/modules/TDMPicture/viewcat.php?ct=<{$category.id}>"><h3><{$category.title}></h3></a>&nbsp;(<{$category.totalpictures}>)
            <{if 
$category.subcategories != ""}>
           <
ul><{$category.subcategories}></ul><{/if}>


        <{/foreach}>


Ca marche pas mal, j'ai quelques problèmes quand même... Une de mes catégorie apparait deux fois, et le nombre d'item par catégorie <{$category.totalpictures}> et le nombre d'item total <{$lang_thereare}> ne fonctionne pas

Accessoirement je comprend pas tout a ce que j'ai mis

Posté le : 01/03/2013 19:50
Partager Twitter Partagez cette article sur GG+
Re: TDMPicture
Régulier
Inscrit: 06/06/2004 21:24
De Paris
Messages: 245
Hello,

J'ai réussi a mettre un peu d'ordre dans mon code, je rencontre un dernier problème... Je n'arrive pas a compter les éléments dans chaque sous-catégorie...
J'ai beau comparé à TDM qui le fait je n'y arrive pas

Voici mon code, si quelqu'un à une idée, un grand merci d'avance

La ligne
//$criteria->add(new Criteria('cat_id', '(' . implode(',', $categories) . ')','IN'));
est commenté sinon ça fonctionne plus du tout

Dans le index.php
$categories TDMPicture_MygetItemIds('tdmpicture_view''TDMPicture');

$criteria = new CriteriaCompo();
$criteria->add(new Criteria('file_display'0'!='));
$numpict $file_handler->getCount($criteria);
$xoopsTpl->assign('lang_thereare',$numpict);

$criteria = new CriteriaCompo();
$criteria->add(new Criteria('file_display'0'!='));
$criteria->add(new Criteria('file_cat''(' implode(','$categories) . ')','IN'));
$file_arr $file_handler->getAll($criteria);

//Tableau des catégories 
$criteria = new CriteriaCompo(); 
$criteria->add(new Criteria('cat_display'1));
//$criteria->add(new Criteria('cat_id', '(' . implode(',', $categories) . ')','IN'));
$criteria->setSort('cat_weight ASC, cat_title'); 
$criteria->setOrder('ASC'); 
$picturescat_arr $cat_handler->getAll($criteria); 
$mytree = new TDMObjectTree($picturescat_arr'cat_id''cat_pid'); 

//affichage des catégories
$count 1;
$keywords '';
foreach (
array_keys($picturescat_arr) as $i) {
    if (
$picturescat_arr[$i]->getVar('cat_pid') == 0){
        
$totalpictures TDMPicture_NumbersOfEntries($mytree$categories$file_arr$picturescat_arr[$i]->getVar('cat_id'));
        
$subcategories_arr $mytree->getFirstChild($picturescat_arr[$i]->getVar('cat_id'));
        
$chcount 0;
        
$subcategories '';
        
//pour les mots clef
        
$keywords .= $picturescat_arr[$i]->getVar('cat_title') . ',';
        foreach (
array_keys($subcategories_arr) as $j) {
                
$subcategories .= '<li><a href="' XOOPS_URL '/modules/TDMPicture/viewcat.php?ct=' $subcategories_arr[$j]->getVar('cat_id') ."&tris=".$tris."&limit=".$limit.'">' $subcategories_arr[$j]->getVar('cat_title') . '</a> ('.$totalpictures.') </li>' ;
                
$keywords .= $picturescat_arr[$i]->getVar('cat_title') . ',';
                
$chcount++;
        }
        
$xoopsTpl->append('categories', array('id' => $picturescat_arr[$i]->getVar('cat_id'), 'title' => $picturescat_arr[$i]->getVar('cat_title'), 'subcategories' => $subcategories'totalpictures' => $totalpictures'count' => $count));
        
$count++;
    }
}


dans modules/TDMPicture/include/functions.php
//Fonction pour affichage catégories suivant pemissions 
function TDMPicture_MygetItemIds($permtype,$dirname

    global 
$xoopsUser
    static 
$permissions = array(); 
    if(
is_array($permissions) && array_key_exists($permtype$permissions)) {
        return 
$permissions[$permtype]; 
    } 
       
$module_handler =& xoops_gethandler('module'); 
       
$tdmModule =& $module_handler->getByDirname($dirname); 
       
$groups is_object($xoopsUser) ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS
       
$gperm_handler =& xoops_gethandler('groupperm'); 
       
$categories $gperm_handler->getItemIds($permtype$groups$tdmModule->getVar('mid')); 
    return 
$categories
}


function 
TDMPicture_NumbersOfEntries($mytree$categories$entries,$cid)
{
    
$count 0;
    
$child_arr = array();
    if(
in_array($cid$categories)) {
        
$child $mytree->getAllChild($cid);
        foreach (
array_keys($entries) as $i) {
            if (
$entries[$i]->getVar('file_cat') == $cid){
                
$count++;
            }
            foreach (
array_keys($child) as $j) {
                if (
$entries[$i]->getVar('file_cat') == $j){
                    
$count++;
                }
            } 
        }
    } 
    return 
$count;
}


Et dans les templates modules/TDMPicture/templates/tdmpicture_index.html
<{$lang_thereare}>

        <!-- 
Start category loop -->
        <{foreach 
item=category from=$categories}>


            <
a href="<{$xoops_url}>/modules/TDMPicture/viewcat.php?ct=<{$category.id}>"><h3><{$category.title}></h3></a>
            <{if 
$category.subcategories != ""}>
           <
ul><{$category.subcategories}></ul><{/if}>


        <{/foreach}>

Posté le : 02/03/2013 16:13
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 ... 9 10 11 (12) 13 14 »



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

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