Forum CMS Made Simple FR

Version complète : [Résolu][Développement de module] ajout de contenu dans le head
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,

Je suis "développeur" de modules sur CMS Made Simple,

En tentant de développer un module d'affichage des photos 500px (réseau social dédié à la photographie)

En tentant de créer un interface de gestion de template pour la galerie,
j'ai voulu m'inspirer du module "Gallery" pour leur gestion de template, et j'ai vu qu'ils ont réussit à integrer leur css/javascript entre les balises <head></head>

En fouinant un peux, j'ai trouver ceci:
Code :
[== PHP ==]
// pass data to head section.

// get template-specific JavaScript and echo
$templatecode = $this->GetTemplate($template);
$templatecodearr = explode(TEMPLATE_SEPARATOR, $templatecode);
$template_metadata = '';

// check if a css file exists and echo
if ( file_exists("modules/Gallery/templates/css/" . $template . ".css") )
{
    $template_metadata .= '<link rel="stylesheet" href="' . $config['root_url'] . '/modules/Gallery/templates/css/' . $template . '.css" type="text/css" media="screen" />
';
}
$template_metadata .= substr($templatecodearr[2],0,-2);
$check_metadata = trim($template_metadata);

if ( !empty($check_metadata) )
{
    $template_metadata = $template_metadata . '
<!-- Gallery/' . $template . ' -->
';
    // make sure to add Metadata just once.
    if ( empty($this->GalleryMetadata) )
    {
        $this->GalleryMetadata = $template_metadata;
    }
    elseif ( stripos($this->GalleryMetadata,'<!-- Gallery/' . $template . ' -->') === FALSE )
    {
        $this->GalleryMetadata .= $template_metadata;
    }
}

J'ai tenté d’intégrer ceci à mon module, mais ca ne marche pas et je ne trouve aucune documentation sur le sujet.

Auriez vous une idée ?

Très bonne journée,
insérer du code côté back-office se fait depuis la class Gallery.module.php dans la fonction getHeader() de mémoire. (a vérifier)

insérer du code côté front-office se fait grâce à l'utilisation des évènements CmsMadeSimple.

panel admin > Gestion des événements » ContentPostRender

Cela fait appel avant chaque envoi de code HTML à une petite fonction de Gallery qui elle va ajouter son code au passage

De mémoire (toujours) cette fonction est codée dans DoEvent du fichier Gallery.module.php

Ajouter un event se fait durant l'installation du module : function.install.php
Merci de ton aide bess, et surtout de la rapidité de celle-ci, je vais regarder et je vous redit ! Smile
Hello,

Alors effectivement, le problème venais du DoEvent,

Je ne savais pas qu'il fallais ajouter un event dans l'installation du module

Merci
je t'en prie Smile