Fork me on GitHub




(1) 2 »


affichage des descriptions en javascript
Semi pro
Inscrit: 06/09/2005 01:34
De Royan
Messages: 609
bonjour

pour donner suite a ce post voici la deuxième modif pour XOOPS 2.4.4: affichage des descriptions des modules et system en javascript ce qui permet d'avoir a mon sens des pages moins longues tout en ayant la possibilité de mieux détailler les descriptions/explications des modules et du module system

1) ouvrir le fichier .../modules/system/admin/preferences/mains.php

modifiez ver la ligne 108 comme ceci

$config_handler =& xoops_gethandler('config');
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('conf_modid'0));
$criteria->add(new Criteria('conf_catid'$confcat_id));
$config $config_handler->getConfigs($criteria);
$confcount count($config);
for (
$i 0$i $confcount$i++) {

//descriptions du système dans administration        
//modif CPascal - 12 février 2010     
//$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')) . '<br /><br /><span style="font-weight:normal;">' . constant($config[$i]->getVar('conf_desc')) . '</span>';


//ajout CPascal - ajout javascript dans les descriptions des modules et du système dans administration: (<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext"> ) 
$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')) . '<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext">' constant($config[$i]->getVar('conf_desc')) . '</span>';            
//fin de l'ajout            


switch ($config[$i]->getVar('conf_formtype')) {
case 
'textarea':


puis faite la même chose vers la ligne 302 comme ceci

$form->addElement(new XoopsFormHidden('redirect'$myts->htmlspecialchars($_GET["redirect"]))); } elseif ($module->getInfo('adminindex')) {            $form->addElement(new XoopsFormHidden('redirect'XOOPS_URL '/modules/' $module->getVar('dirname') . '/' $module->getInfo('adminindex')));
        }
for (
$i 0$i $count$i++) {

//descriptions des modules dans administration        
//modif CPascal - 12 février 2010         
//$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')).'<br /><br /><span style="font-weight:normal;">'.constant($config[$i]->getVar('conf_desc')).'</span>';

//ajout CPascal - ajout javascript dans les descriptions des modules dans administration: (<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext"> )           
$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')).'<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext">'.constant($config[$i]->getVar('conf_desc')).'</span>';
//fin de l'ajout            

switch ($config[$i]->getVar('conf_formtype')) {
case 
'textarea':



ATTENTION ! pour les débutants ajouter uniquement les portions de code entre l'indication //Ajout CPascal et //fin de l'ajout j'ai mis un peut de code xoops pour vous aidez a vous repérez sur le fichier ouvert

2) ouvrir le fichier .../modules/system/class/gui.php
ajouter dans la fonction: function header() cette portion de code java comme ceci:

class XoopsSystemGui
{
//modèle template
    
var $template;
//navigation
    
var $navigation;
//nom de dossier
    
var $foldername;
//pour le thème
    
var $xoTheme;
//ajout CPascal - 12 février 2010 - javascript    
    
var $js '';
//fin
    
function header()
    {
global 
$xoops$xoopsConfig$xoopsModule$xoopsModuleConfig$xoopsUser$xoopsOption$xoTheme$js$xoopsTpl;
        
ob_start();

        
xoops_loadLanguage('admin''system');
        
xoops_loadLanguage('cpanel''system');
        
xoops_loadLanguage('modinfo''system');

        
$xoopsLogger =& XoopsLogger::getInstance();
        
$xoopsLogger->stopTime('Module init');
        
$xoopsLogger->startTime('XOOPS output init');

if (!
headers_sent()) {
header('Content-Type:text/html; charset=' _CHARSET);
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
header('Cache-Control: no-store, no-cache, must-revalidate');
header("Cache-Control: post-check=0, pre-check=0"false);
header("Pragma: no-cache");
}

require_once 
XOOPS_ROOT_PATH '/class/template.php';
require_once 
XOOPS_ROOT_PATH '/class/theme.php';

$adminThemeFactory = new xos_opal_AdminThemeFactory();
$this->xoTheme =& $adminThemeFactory->createInstance(array(
'folderName' => $this->foldername,
'themesPath' => 'modules/system/class/gui'));

$this->xoTheme->loadLocalization('admin');
$this->template =& $this->xoTheme->template;

$GLOBALS['xoTheme'] =& $this->xoTheme;
$GLOBALS['adminTpl'] =& $this->xoTheme->template;

$xoopsLogger->stopTime('XOOPS output init');
$xoopsLogger->startTime('Module display');

$xoopsPreload =& XoopsPreload::getInstance();
        
$xoopsPreload->triggerEvent('system.class.gui.header');
//ajout CPascal - 12 février 2010 - javascript pour les descriptions des modules et du système
//modif CPascal: modification du code: $("img.helptip").hover(function() remplacer par ce code: $("img.helptip").click(function() pour les liens
// dans les descriptions
   
echo $js '<script type="text/javascript">
   $(function() {
   $("span.helptext").hide();
   $("img.helptip").click(function() {
   $(this).nextAll().each( function() {
   if ($(this).filter("span.helptext").is(":visible")) {
   $(this).filter("span.helptext").toggle("slow");
   return false;
   } else {
   $("span.helptext").fadeOut("slow");
   }
   if ($(this).filter("img.helptip").length) {
   return false;
   }
   $(this).filter("span.helptext").toggle("slow");
   });
   });
   });
   </script>'
;        
//fin        
    
}


3) ouvrir le fichiers CSS du thème administration que vous utilisez:

prenons comme exemple le thème oxygen
ouvrir le fichier ../modules/system/glass/gui/oxygen/css/style.css ajouter cette portion de code css:

/* ==================== info bulle descriptions des modules et du système ==================== */
/*** image info dans les description ***/
.caption-text img {floatrightpadding-top2px;cursorpointer;}
/*** boite javascript ***/
span.helptext {
    
positionabsolute;
    
right65%;
    
z-index9000;
    
background-color#CCCCCC;
    
outline1px solid #CCCCCC;
    
border2px solid #FFFFFF;
    
padding10px 15px;
    
max-width25%;
    
displaynone;
    
color#fff;
    
text-alignjustify;
    
font-size1em;
    
font-weightnormal;
    -
moz-border-radius5px;
    -
webkit-border-radius5px;
}
span.helptext a {color#666666; font-weight: normal; background-color: transparent;}
span.helptext a:hover {text-decorationunderlinecolor#fff; font-weight: normal; background-color: transparent;}


évidement modifier couleurs, position etc.. selon vos goûts et thème utilisez dans l'administration

et enfin ajouter une image nommée view_off.png dans le fichier: ../modules/system/images

celle çi par exemple:
Open in new window

ce qui vous donnera sa:

Open in new window

et sa au passage de la souri sur l'image view_off.png

Open in new window



voila je pense avoir rien oublier n'hésitez pas si c'est la cas


Attention: éditer le 15 février pour apporter correction en cas de lien dans les descriptions.

Posté le : 13/02/2010 16:11
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 13/12/2004 11:28
De Lyon
Messages: 1364
Salut

Intéressant cette modification, je vais l'ajouter de ce pas

MusS

Posté le : 26/03/2010 16:49
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 04/10/2007 04:40
De Cuges Les Pins
Messages: 843
Super ton petit Hack !!...

En espérant qu'il sera intégrer dans les prochaines versions.
( ou un système du même genre )

iLuc

Posté le : 30/03/2010 23:18
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 08/03/2006 21:08
Messages: 1176
Comme vient de le dire Muss cette astuce serra dans la version 2.5!

Posté le : 31/03/2010 12:32
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 06/09/2005 01:34
De Royan
Messages: 609
Bonjour iLuc

En attendant la sortie de xoops 2.5,voici comment je l'ai intégré dans XOOPS 2.5

1) ouvrir le fichier .../modules/system/admin/preferences/mains.php
modifiez vers la ligne 72 comme ceci
$form = new XoopsThemeForm$confcat->getVar('confcat_name'), 'pref_form''admin.php?fct=preferences''post'true);
$config_handler =& xoops_gethandler('config');
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('conf_modid'0));
$criteria->add(new Criteria('conf_catid'$confcat_id));
$config $config_handler->getConfigs($criteria);
$confcount count($config);
for (
$i 0$i $confcount$i++) {
//descriptions du système dans administration        
//modif CPascal - 12 février 2010         
//$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')) . '<br /><br /><span style="font-weight:normal;">' . constant($config[$i]->getVar('conf_desc')) . '</span>'; 
//ajout CPascal - ajout javascript dans les descriptions des modules et du système dans administration: (<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext"> ) 
$desc = ($config[$i]->getVar('conf_desc') != '') ? $config[$i]->getVar('conf_desc') : '';            
$title constant($config[$i]->getVar('conf_title')). '<img class="helptip" src="./images/descriptions.png" /><span class="helptext">' $desc '</span>';
//fin de l'ajout


puis faire la même chose pour les modules vers la ligne 288 comme ceci
$modname $module->getVar('name');
if (!empty(
$_REQUEST["redirect"])) {
$myts =& MyTextSanitizer::getInstance();
$form->addElement(new XoopsFormHidden('redirect'$myts->htmlspecialchars($_REQUEST["redirect"])));
} elseif (
$module->getInfo('adminindex')) {
$form->addElement(new XoopsFormHidden('redirect'XOOPS_URL '/modules/' $module->getVar('dirname') . '/' $module->getInfo('adminindex')));
}
for (
$i 0$i $count$i++) {
//descriptions du système dans administration        
//modif CPascal - 12 février 2010         
//$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')) . '<br /><br /><span style="font-weight:normal;">' . constant($config[$i]->getVar('conf_desc')) . '</span>'; 
//ajout CPascal - ajout javascript dans les descriptions des modules et du système dans administration: (<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext"> ) 
$desc = ($config[$i]->getVar('conf_desc') != '') ? $config[$i]->getVar('conf_desc') : '';            
$title constant($config[$i]->getVar('conf_title')). '<img class="helptip" src="./images/descriptions.png" /><span class="helptext">' $desc '</span>';
//fin de l'ajout


2) ouvrir le fichier .../modules/system/js/admin.js
ajoutez ce java en bas de page en dessous du commentaire: //cookie functions
//cookie functions
//ajout CPascal - 12 février 2010 - javascript pour les descriptions des modules et du système
$(function() {
   $(
'span.helptext').hide();
   $(
'img.helptip').click(function() {
     $(
this).nextAll().each( function() {
    if ($(
this).filter('span.helptext').is(':visible')) {
     $(
this).filter('span.helptext').toggle('slow');
       return 
false;
    } else {
    $(
'span.helptext').fadeOut('slow');
    }
      if ($(
this).filter('img.helptip').length) {
       return 
false;
      }
     $(
this).filter('span.helptext').toggle('slow');
    });
   });
});
//fin de l'ajout


3) ouvrir le fichiers CSS du thème administration que vous utilisez et suivre les indications pour la 2.4.4 en dessous

voila je pense avoir rien oublier et tant que vous y êtes profiter en pour effectuer cette petite modif de présentation dans "case 'showmod'" dans le fichier .../modules/system/admin/preferences/mains.php

case 'showmod':
//ajout CPascal - 12 février 2010
//navigation Breadcrumb        
$xoBreadCrumb->addLink(_MD_AM_MODCONFIG);
$xoBreadCrumb->addHelpsystem_adminVersion('preferences''help') );
$xoBreadCrumb->render();
$xoopsTpl->assign('breadcrumb'1);    
//fin de l'ajout - 12 février 2010
$config_handler =& xoops_gethandler('config');

et un peut plus bas
$form->addElement(new XoopsFormHidden('op''save'));
$form->addElement(new XoopsFormButton('''button'_GO'submit'));
//modif CPascal - 12 février 2010 - ajout Breadcrumb plus haut ligne 246 et suppression ancienne navigation        
/*if ($module->getVar('name') == 'System'){
// Define Breadcrumb
$xoBreadCrumb->addLink(_AM_SYSTEM_PREFERENCES_SETTINGS);
$xoBreadCrumb->render();
$xoopsTpl->assign('breadcrumb', 1);
}else{
if ($module->getInfo('adminindex')) {
echo '<a href="' . XOOPS_URL . '/modules/' . $module->getVar('dirname') . '/' . $module->getInfo('adminindex') .'">' . $module->getVar('name') . '</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;' . _PREFERENCES . '<br /><br />';
} else {
echo $module->getVar('name') . '&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;' . _PREFERENCES . '<br /><br />';
}
}*/
//fin modif               
$form->display();
break;


cordialement

Posté le : 31/03/2010 23:51
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 13/12/2004 11:28
De Lyon
Messages: 1364
Salut,

Le probleme de description ne venait pas pas du nouveau module system, mais d'une modification au niveau du kernel qui recupere directement les define avec la fonction constant() alors qu'avant c'etait dans le formulaire qu'il fallait effectuer cela.
J'ai donc corriger cela pour la beta.
Pour le hack je regarde pour l'intégrer et voir si cela est possible de le mettre pour la version 2.5

MusS

Posté le : 05/04/2010 11:23
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 06/09/2005 01:34
De Royan
Messages: 609
bonjour Muss,

ok merci, mais cela fonctionne chez moi avec cette modif il faut juste régler un petit souci quand il n'y a pas de description (revoir code ../preferences/main.php). Puis-je me permettre de te suggéré d'effectuée ces petites corrections si tu as le temps ici

merci a toi et surtout bravo pour ton travail sur system

Posté le : 06/04/2010 09:46
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 07/11/2009 10:34
De Lot
Messages: 517
Vraiment super ton hack, personnellement je ne l'ais pas appliquer je suis pas asser courageux pour faire une modification aussi grosse, la peur de tout planter surement.
En tout cas bravo à toi pour ce boulot et merci pour les autres.

Posté le : 06/04/2010 11:05

Tout vient à  point à qui sait attendre.
http://www.graph-attitude.fr
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 13/12/2004 11:28
De Lyon
Messages: 1364
Hum,

Après une petite recherche, il semblerais que ton hack provienne de ImpressCMS.
Je vais ajouter le principe d'icône et de popup mais différemment pour éviter des problèmes avec ce projet.
Par contre, fait attention en récupérant du code d'au autre projet et de mettre ton nom comme étant le créateur du hack

MusS

Posté le : 07/04/2010 12:02
Partager Twitter Partagez cette article sur GG+
Re: affichage des descriptions en javascript
Semi pro
Inscrit: 06/09/2005 01:34
De Royan
Messages: 609
bonjour MusS

Pas vraiment, je ne m'attribue pas des codes qui ne m'appartienne pas, ce n'est pas du tout dans mon état d'esprit et inutile, cette modif est la suite de celui çi

et tu pourra lire:
j'y suis partiellement parvenu, <b>je n'ai aucun mérite je me suis basé sur un autre cms</b>.  je vais donc vous faire part de cette modification et du problème que je rencontre.


c'est en cherchant un javascript pour un site de petite annonce je suis tomber dessus et je me suis souvenu que d'autre cms l'utiliser ImpressCMS, drupal, une extention de joomla et d'autres tu peut le trouver sur pas mal de site comme celui çi entre autre


cordialement

Posté le : 07/04/2010 13:22
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

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