#1 07-09-2014 20:18

Brice
Inscription : 17-02-2010
Messages : 45
Site Web

[RESOLU] Définir de nouvelles fonctions

Bonsoir Jonas,

Ça fait un bail que je n'étais pas passé ici... mais suite à un changement de CMS, je me suis finalement décidé à me refaire un thème pour GCweb.

Par contre, j'ai été amené à définir de nouvelles fonctions ou à en modifier certaines, surtout dans le fichier func4tpl.php.

Ainsi, j'ai créé cette nouvelle fonction

function isModel($model)
{
    /*
     * Retroune true si c'est la clef de tri
     *    - $sort : [string] idem  hrefSortBy()
     */
    global $collec;

    if ($model == $collec['model'])
        return True;
    else
        return False;
}

sur le modèle de isSortKey() pour avoir une classe active sur les liens de modification d'affichage.

J'ai également modifié la fonction attrsize_image en rajoutant le paramètre "$type" pour obtenir cela:

if ($type == "img") {
        return 'width="'.$Xtb.'" height="'.$Ytb.'"';
    }
    elseif ($type == "style") {
        return 'width:'.$Xtb.'px; height:'.$Ytb.'px';
    }

En effet, j'avais besoin de récupérer les largeurs et hauteurs des images pour les utiliser pour les styles de l'élément parent.

Je suis bien conscient des risques à modifier les fichiers de base et je me demandais du coup s'il était prévu de pouvoir ajouter des fonctions ou en redéfinir certaines au sein même du répertoire du template ?

Merci par avance smile

Dernière modification par Brice (09-09-2014 21:20)

Hors ligne

#2 07-09-2014 21:36

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : [RESOLU] Définir de nouvelles fonctions

Salut,

Modifier un fichier de base aurait peu engendrer des complications lors des mise à jours mais comme gcweb n'a plus beaucoup de mise à jour tu ne prend pas trop de risque wink.

Sinon pour ne pas modifier les fichiers de base tu pourrais écrire un plugin avec comme préfix "render_" http://jonas.tuxfamily.org/wiki/gcweb/d … _un_plugin et tu insère tes nouvelles fonctions dedans (elles ne pourront pas avoir le même nom que des fonctions existantes)

Hors ligne

#3 08-09-2014 18:35

Brice
Membre
Inscription : 17-02-2010
Messages : 45
Site Web

Re : [RESOLU] Définir de nouvelles fonctions

Salut Jonas,

Merci pour ce retour rapide smile

Bon effectivement pour les nouvelles fonctions je vais créer un "plugin" -- on peut utiliser les variables définies dans les fichiers de base de GCweb ?

A+

Hors ligne

#4 09-09-2014 00:09

Brice
Membre
Inscription : 17-02-2010
Messages : 45
Site Web

Re : [RESOLU] Définir de nouvelles fonctions

Jonas,

C'est bon, ça marche plutôt bien ! Du coup, j'ai créé un fichier render_gcweb_momh.php dont tu pourras suivre l'évolution sur mon Github : https://github.com/bricebou/render_gcweb_momh

J'ai mis ça sous GPLv3, en te citant bien sûr et je vais commenter le code au fur et à mesure ; n'hésite pas à me faire part de tes remarques:)

Sinon, est-ce qu'il est possible de placer ce fichier de plugin dans un répertoire (histoire que ce soit un peu moins le bordel avec Git) ?

Merci et à+

Hors ligne

#5 09-09-2014 11:58

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : [RESOLU] Définir de nouvelles fonctions

Le fichier "de base" du plugin doit se trouver à la racine de "/plugins" mais après tu peux :
  - Sous gnu/linux replacer par un lien symbolique
  - Sinon faire un fichier php

<?php
#render_monplugin.php
include "sous_dossier/render_monplugin.php";
?>

Hors ligne

#6 09-09-2014 21:19

Brice
Membre
Inscription : 17-02-2010
Messages : 45
Site Web

Re : [RESOLU] Définir de nouvelles fonctions

Merci Jonas ! En effet, je n'avais pas pensé au lien symbolique...

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Si vous êtes un être humain ne changez pas le contenu de ces deux champs.

Pied de page des forums