Mahara : un exemple de sideblock
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
- 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;
}
}
- 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.';
- 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.
Voila, vous pouvez maintenant briller en soirée …
Formations de Develop4fun
- Parcours pour devenir un programmeur web
- Créez vos jeux avec UNITY3D
- Parcours pour devenir un programmeur de jeux vidéo
- Apprenez à créer des jeux 2D facilement avec LUA et LÖVE 2D
- Parcours pour devenir un programmeur de jeux vidéo
- Apprenez à programmer en C#
- Apprenez à programmer en C++
- Formation WordPress : le cours complet
Étiquette :Sideblock