• Votre panier est vide.

Mahara : un exemple de sideblock

(Dernière mise à jour: 5 juillet 2023)

Mahara est un jeune CMS qui propose des fonctionnalités intéressantes : création d’un portfolio, de groupes, d’institutions … bref un petit réseau social.

Malgré tout, ce dernier s’entoure d’une très petite communauté et propose une documentation quasi inexistante.

Ce que je vous propose aujourd’hui, c’est de voir comment on peut créer un petit sideblock (qui correspond à un widget de WordPress) contenant un “Hello World”.

Très important : Mahara utilise le langage Smarty pour la vue et le php pour ses requêtes.

On va utiliser le dossier “bonus” local pour créer notre petit block.

Dans local/lib.php :

 <?php 
function local_sideblocks_update(&$SIDEBLOCKS)
{
    $hello = 'Hello World';
    // Initiation of the block
    if (defined('MENUITEM') && MENUITEM != '') {
        /*================================
         Hello Test
         ================================*/
        $SIDEBLOCKS[] = array(
            'name' => 'hello',
            'id' => 'sb-hello',
            'weight' => 20,
            'data' => array('hello' => $hello),
        );
    }
}
?>

Avec cette fonction j’ajoute à la liste des sideblocks un nouveau block qui s’appelle hello, avec l’identifiant ‘sb-hello’, dans la position 20 (au-dessus des autres blocks déjà présents dans le site) et, le plus important, je vais dire que la valeur hello contient la variable php $hello.

Maintenant occupons-nous de la vue.

Dans theme/raw/templates/sideblocks/hello.tpl :

 {if $sbdata.hello}
    <div class="panel panel-default">
        <h3 class="panel-heading">
            Hello
        </h3>
        {$sbdata.hello}
    </div>
{/if}

En gros : si $sbdata.hello existe (qui correspond aux datas de la partie php) alors tu m’affiches la variable qui contient la valeur “Hello world”.

Ici vous trouvez l’ensemble du code.

Un autre exemple de sideblock Mahara

  1. Créez un fichier PHP pour votre sideblock, par exemple mon_sideblock.php. Ce fichier contiendra le code pour générer le contenu du bloc latéral.
<?php
defined('INTERNAL') || die();

class PluginBlocktypeMonSideblock extends PluginBlocktype {

    public static function get_title() {
        return get_string('mon_sideblock:title', 'blocktype.mon_sideblock');
    }

    public static function get_description() {
        return get_string('mon_sideblock:description', 'blocktype.mon_sideblock');
    }

    public static function get_categories() {
        return array('miscellaneous');
    }

    public static function render_instance(BlockInstance $instance, PageObject $page, SmartEvidenceObject $parent = null) {
        $content = '<div class="mon-sideblock">';
        $content .= '<h2>' . get_string('mon_sideblock:title', 'blocktype.mon_sideblock') . '</h2>';
        $content .= '<p>' . get_string('mon_sideblock:description', 'blocktype.mon_sideblock') . '</p>';
        // Ajoutez ici le contenu spécifique à votre bloc latéral
        $content .= '</div>';

        return $content;
    }

}
  1. Créez un fichier de langue pour votre sideblock, par exemple lang/en.utf8/blocktype.mon_sideblock.php. Ce fichier contiendra les chaînes de caractères nécessaires pour les titres et les descriptions du bloc.
<?php
$string['mon_sideblock:title'] = 'Mon Sideblock';
$string['mon_sideblock:description'] = 'Ceci est un exemple de sideblock pour Mahara.';
  1. Placez ces fichiers dans le répertoire htdocs/blocktype/ de votre installation Mahara.

Une fois ces étapes terminées, votre sideblock sera disponible dans la section “Miscellaneous” lors de l’ajout de blocs à vos pages Mahara. Vous pourrez le sélectionner et le personnaliser selon vos besoins.

N’oubliez pas de personnaliser le contenu du sideblock en fonction de vos besoins spécifiques. Vous pouvez ajouter du contenu HTML, des liens, des images, des formulaires, etc., dans la méthode render_instance du fichier PHP du sideblock.

Assurez-vous également d’adapter les fichiers de langue (lang/en.utf8/blocktype.mon_sideblock.php) selon les langues que vous utilisez dans votre installation Mahara.

Banner Sudoku Quest

Voila, vous pouvez maintenant briller en soirée …

Formations de Develop4fun
5 juillet 2023

0 réponses sur "Mahara : un exemple de sideblock"

Laisser un message

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

© Develop4fun. Tous les droits réservés.