Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu][Développement de module] ajout de contenu dans le head
#1

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,
#2

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
#3

Merci de ton aide bess, et surtout de la rapidité de celle-ci, je vais regarder et je vous redit ! Smile
#4

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
#5

je t'en prie Smile
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)