Fork me on GitHub


 Bas   Précédent   Suivant

(1) 2 »


Fosdem 2007
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
Le fosdem 2007 approche, y aura-t-il une présence xoops à Bruxelles cette année ?

http://fosdem.org/2007/

Posté le : 21/11/2006 10:04
Transférer la contribution vers d'autres applications Transférer


Re: [Hack] ajout du support des templates
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
Citation :

Solo71 a écrit:
Tu n'en ferais pas une archive téléchargeable ?



si mais il y a d autres pages qui sont dans le meme cas, quand j'aurai fini de les modifier je ferai l'archive

Posté le : 17/08/2006 09:20
Transférer la contribution vers d'autres applications Transférer


[Hack] ajout du support des templates
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
Voici un petit hack pour ajouter le support des templates a certaines pages qui en sont démunies. Je ne sais pas si ca va interesser qqun, mais puisque c est fait, autant en faire profiter tout le monde...

Je viens de le réaliser pour la page viewpmsg.php, d'autres suivront quand j'aurai le temps.

d'apres les tests rapides que j'ai effectués ca a l air de fonctionner. Si vous faites ces changements il est préférable de faire une copie de sauvegarde avant. La version de xoops utilisée ici est la 2.0.14.

viewpmsg.php
$xoopsOption['pagetype'] = "pmsg";
include_once 
"mainfile.php";
include_once 
XOOPS_ROOT_PATH."/class/xoopsformloader.php";

if (!
is_object($xoopsUser)) {
    
$errormessage _PM_SORRY."<br />"._PM_PLZREG."";
    
redirect_header("user.php",2,$errormessage);

else {
    
$pm_handler =& xoops_gethandler('privmessage');
    if (isset(
$_POST['delete_messages']) && isset($_POST['msg_id'])) {
            if (!
$GLOBALS['xoopsSecurity']->check()) {
                    echo 
implode('<br />'$GLOBALS['xoopsSecurity']->getErrors());
                    exit();
            }
            
$size count($_POST['msg_id']);
            
$msg =& $_POST['msg_id'];
                    for ( 
$i 0$i $size$i++ ) {
                    
$pm =& $pm_handler->get($msg[$i]);
                    if (
$pm->getVar('to_userid') == $xoopsUser->getVar('uid')) {
                            
$pm_handler->delete($pm);
                    }
                    unset(
$pm);
            }
            
redirect_header("viewpmsg.php",1,_PM_DELETED);
            exit();
    }
    
// Set template
    
$xoopsOption['template_main'] = 'system_userinbox.html';

    include 
XOOPS_ROOT_PATH.'/header.php';
    
$criteria = new Criteria('to_userid'$xoopsUser->getVar('uid'));
    
$criteria->setOrder('DESC');
    
$pm_arr =& $pm_handler->getObjects($criteria);
  
    
// Xoops language
    
$xoopsTpl->assign("lang_PM_PrivateMessage",_PM_PRIVATEMESSAGE);
    
$xoopsTpl->assign("lang_PM_Profile",_PM_PROFILE);
    
$xoopsTpl->assign("lang_PM_Inbox",_PM_INBOX);
    
$xoopsTpl->assign("lang_PM_From",_PM_FROM);
    
$xoopsTpl->assign("lang_PM_Subject",_PM_SUBJECT);
    
$xoopsTpl->assign("lang_PM_Date",_PM_DATE);
    
$xoopsTpl->assign("lang_PM_YouDontHave",_PM_YOUDONTHAVE);
    
$xoopsTpl->assign("lang_PM_NotRead",_PM_NOTREAD);
    
$xoopsTpl->assign("lang_PM_Send",_PM_SEND);
    
$xoopsTpl->assign("lang_PM_Delete",_PM_DELETE);
        
    
$total_messages count($pm_arr);
    
$xoopsTpl->assign("total_messages",$total_messages);
    
    
$pm_msg = array();
    for (
$i 0$i $total_messages$i++) {
        
// Retrieve some special values
        
$postername XoopsUser::getUnameFromId($pm_arr[$i]->getVar("from_userid"));
        
$isAnonymous 0;
        if (!
$postername) {
            
$postername $xoopsConfig['anonymous'];
            
$isAnonymous 1;
        }
        
        
$pm_msg[] = array    (    "msg_id" => $pm_arr[$i]->getVar("msg_id"),
                                                
"read_msg" => $pm_arr[$i]->getVar('read_msg'),
                                                
"msg_image" => $pm_arr[$i]->getVar("msg_image""E"),
                                                
"from_userid" => $pm_arr[$i]->getVar("from_userid"),
                                                
"from_uname" => $postername,
                                                
"is_anonymous" => $isAnonymous,
                                                
"subject" => $pm_arr[$i]->getVar("subject"),
                                                
"msg_time" => formatTimestamp($pm_arr[$i]->getVar("msg_time")),
                                                
"start" => ($total_messages-$i-1)
                                            );
    }
    
    
// Assign the list of messages for display
    
$xoopsTpl->assign("pm_msg",$pm_msg);
    
$xoopsTpl->assign("token",$GLOBALS['xoopsSecurity']->getTokenHTML());
    include 
"footer.php";
}


et le code du template : sytem_userinbox.html
<h4 style='text-align:center;'><{$lang_PM_PrivateMessage}></h4>
<
br />
<
a href='userinfo.php?uid=<{$xoops_userid}>'><{$lang_PM_Profile}></a>&nbsp;
<
span style='font-weight:bold;'>&raquo;&raquo;</span>&nbsp;<{$lang_PM_Inbox}>
<
br /><br />
<
table border='0' cellspacing='1' cellpadding='4' width='100%' class='outer'>
    <
form name='prvmsg' method='post' action='viewpmsg.php'>
        <
tr align='center' valign='middle'>
            <
th><input name='allbox' id='allbox' onclick='xoopsCheckAll("prvmsg","allbox");' type='checkbox' value='Check All' /></th>
            <
th><img src='images/download.gif' alt='' border='0' /></th>
            <
th>&nbsp;</th>
            <
th><{$lang_PM_From}></th>
            <
th><{$lang_PM_Subject}></th>
            <
th align='center'><{$lang_PM_Date}></th>
        </
tr>
        <{if 
$total_messages == 0}>
            <
tr>
                <
td class='even' colspan='6' align='center'><{$lang_PM_YouDontHave}></td>
            </
tr>
            <
tr class='bg2' align='left'>
                <
td colspan='6' align='left'>
                    <
input type='button' class='formButton' onclick='javascript:openWithSelfMain("<{$xoops_url}>/pmlite.php?send=1","pmlite",450,380);' value='<{$lang_PM_Send}>' />
                </
td>
            </
tr>
        <{else}>
            <{foreach 
item=msg from=$pm_msg}>
                <
tr align='left' class='<{cycle values="even,odd"}>'>
                    <
td valign='top' width='2%' align='center'>
                        <
input type='checkbox' id='msg_id[]' name='msg_id[]' value='<{$msg.msg_id}>' />
                    </
td>
                    <
td valign='top' width='5%' align='center'>
                        <{if 
$msg.read_msg == 1}>
                            &
nbsp;
                        <{else}>
                            <
img src='images/read.gif' alt='<{$lang_PM_NotRead}>' />
                        <{/if}>
                    </
td>
                    <
td valign='top' width='5%' align='center'>
                        <
img src='images/subject/<{$msg.msg_image}>' alt='' />
                    </
td>
                    <
td valign='middle' width='10%'>
                        <{if 
$msg.is_anonymous == 1}>
                            <{
$msg.from_uname}>
                        <{else}>
                            <
a href='userinfo.php?uid=<{$msg.from_userid}>'><{$msg.from_uname}></a>
                        <{/if}>
                    </
td>
                    <
td valign='middle'>
                        <
a href='readpmsg.php?start=<{$msg.start}>&total_messages=<{$total_messages}>'><{$msg.subject}></a>
                    </
td>
                    <
td valign='middle' align='center' width='20%'>
                        <{
$msg.msg_time }>
                    </
td>
                </
tr>
            <{/foreach}>
            <
tr class='foot' align='left'>
                <
td colspan='6' align='left'>
                    <
input type='button' class='formButton' onclick='javascript:openWithSelfMain("<{$xoops_url}>/pmlite.php?send=1","pmlite",450,380);' value='<{$lang_PM_Send}>' />
                    &
nbsp;
                    <
input type='submit' class='formButton' name='delete_messages' value='<{$lang_PM_Delete}>' />
                    <{
$token}>
                </
td>
            </
tr>
        <{/if}>
    </
form>
</
table>


il faut modifier le fichier xoops_version du module systeme pour que le nouveau template soit pris en compte. Personnellement, j'ai fait mes changement dans un fichier séparé (xoops_version_hacked.php) que j'ai inclus dans le fichier original:
...
$modversion['templates'][15]['file'] = 'system_block_dummy.html';
$modversion['templates'][15]['description'] = 'Dummy template for custom blocks or blocks without templates';

// Hack for template of user forms
include_once dirname(__FILE__)."/xoops_version_hacked.php";


le fichier xoops_version_hacked.php contient alors :
// Set this to the value of the latest index +1
$i 16;

$modversion['templates'][$i]['file'] = 'system_userinbox.html';
$modversion['templates'][++$i]['description'] = '';


Faire un upgrade du module system pour que les changements soient pris en compte

Posté le : 17/08/2006 01:08
Transférer la contribution vers d'autres applications Transférer


Re: Thème et page edituser.php et register.php
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
je me demandais : pourquoi certaines pages n'ont pas de template ? a la limite, je comprends pour les pages edituser.php et register.php qui utilisent la fonction form->display (encore que je trouve que ce serait plus interessant de faire un assign et une boucle foreach dans le template). La ou je comprends moins c est pour des pages comme viewmsg.php ou pmlite.php, ou l'affichage se fait a grands coups de echo.
Quand on voit la facilité de créer des templates avec la surchage, pourquoi traine-t-on encore ces vieilles manies de mélanger le code et l'affichage ?


Note: bien que ceci soit effectivement une critique, elle se veut constructive. Etant un "jeune" utilisateur de xoops, j'essaie de comprendre la façon de penser. Et puis, comme je sens le grand troll velu pointer le bout de son nez, sachez que j'ai déjà commencé à modifier ces pages pour y ajouter le support des templates

[edit] j'ai posté un hack dans le forum api permettant de mettre des templates avec la page viewpmsg.php.
https://www.frxoops.org/modules/newbb/ ... t_id=90466&topic_id=15925

Posté le : 16/08/2006 22:45

Edité par tchang sur 17/08/2006 09:22:34
Transférer la contribution vers d'autres applications Transférer


Re: Thème et page edituser.php et register.php
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
c est bien ce que je me disais... c est quand meme un peu dommage de ne pas l'avoir prévu de base

Posté le : 11/08/2006 00:20
Transférer la contribution vers d'autres applications Transférer


Re: Thème et page edituser.php et register.php
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
est ce qu'il y aurait moyen de modifier le template des pages register.php et edituser.php sans hacker ces pages ?

je suppose que non vu que la page register se termine par un $reg_form->display(). mais avant de me casser les dents a modifier tout ca, je préfère demander :p

Posté le : 10/08/2006 23:55
Transférer la contribution vers d'autres applications Transférer


Re: surcharge des templates
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
effectivement, ca fonctionne mieux comme ca...

je pense que les notion de theme et template set etaient un peu confuses pour moi, merci pour ton aide skalpa.

Posté le : 10/08/2006 23:32
Transférer la contribution vers d'autres applications Transférer


Re: surcharge des templates
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
ben j'ai regardé... en gros il dit qu'il suffit de recréer l'arborescence dans le repertoire theme, ce que j'ai fait. On ne parle nul part d'une option a mettre dans les préférences.

xoops tourne sur un serveur linux, j'ai essayé de créer les répertoires de deux façons différentes : en mettant les noms des modules en minuscules et en respectant la casse donné par le gestionnaire de modules (comme on peut le voir sur le screenshot)

Posté le : 10/08/2006 15:46
Transférer la contribution vers d'autres applications Transférer


Re: surcharge des templates
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
Citation :

Par contre pour l'utilisation de la surcharge, n'oublies de cocher la case dans les préférences de l'admin pour l'actualisation à partir du répertoire du thème


je ne vois pas ou se trouve cette case. Dans les preferences j'ai mis :

default theme : montheme
check template for modifications : yes
selectable themes : montheme
default template set : montheme

a part ca je ne vois rien d autre concernant les themes ou les templates. (help

Posté le : 10/08/2006 00:16
Transférer la contribution vers d'autres applications Transférer


surcharge des templates
Aspirant
Inscrit: 17/04/2006 14:36
Messages: 21
hello,

Je viens d'installer xoops 2.0.14 et j'essaie d'utiliser la fonction de surcharge des template mais j'ai un peu de mal. Comme indiqué dans la release note, j'ai créé un rep modules dans mon rep theme et dans lequel j'ai mis les templates des différents modules.

Open in new window

le repertoire de base montheme est une copie de default, j'ai fait quelques modifications au fichier theme.html et aux css. J'ai également créé un template du meme nom en clonant default dans le template set manager (administration xoops).

Pourtant, quand je génère les templates pour un module, wsProject par exemple, ce sont les template default qui sont utilisés et pas ceux que j'ai défini.
Ou est mon erreur ? est ce que j'ai oublié qqch ?

Posté le : 09/08/2006 23:47
Transférer la contribution vers d'autres applications Transférer



 Haut
(1) 2 »




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

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