Il s'agit de créer un module simple sans aucun accès aux bases de données. OpenGoo utilise le design pattern MVC, mais pour cet exemple, nous avons seulement besoin de la vue et du contrôleur.
Créez un nouveau fichier appelé HelloworldController.class.php dans le dossier application/controllers. Ce contrôleur sera chargé automatiquement et rendra disponible une ou plusieurs actions (ici une seul : index). Vous pouvez définir des variables à utiliser dans le template.
class HelloworldController extends ApplicationController { function __construct() { parent::__construct(); prepare_company_website_controller($this, 'website'); } function index() { $my_var = 'World'; tpl_assign('world', $my_var); } }
Créez un fichier portant le même nom que l'action, ici index.php, dans le dossier application/views, et afficher la variable assignée dans le contrôleur.
Hello <?php echo $world ?> !
Affichez le nouveau module comme un onglet : ajoutez-le au constructeur de la classe TabPanel dans l'array items dans le fichier public/assets/javascript/og/layout.js :
var tab_panel = new Ext.TabPanel({ id: 'tabs-panel', region:'center', activeTab: 0, enableTabScroll: true, items: [ ... new og.ContentPanel({ title: lang('helloworld'), id: 'helloworld-panel', iconCls: 'ico-helloworld', refreshOnWorkspaceChange: true, defaultContent: { type: "url", data: og.getUrl('helloworld','index') } }),
Pour la traduction en anglais ajouter un nouvel élément appelé helloword (voir ci-dessous) dans l'array dans le fichier javascript language/en_us/lang.js.
Pour la traduction en français, ajouterz un nouvel élément appelé Bonjour le monde cette fois ci dans le fichier javascript language/fr_fr/lang.js.
... 'completed on': 'Completed on', /* Hello World */ 'helloworld': 'Hello World'
L'icône doit être définie par le thème utilisé, ainsi que par le thème par défaut, enregistrez votre icône par défaut dans le dossier public/assets/themes/default/images/16×16.
Ensuite, ajoutez la classe CSS ico-helloworld de votre icône dans le fichier CSS public/assets/themes/default/stylesheets/general/layout.css
.ico-helloworld { background-image: url(../../images/16x16/helloworld.png) !important; }
Maintenant rechargez OpenGoo et vous verrez votre Module Hello World ! apparaitre.
Pour voir la discussion (en anglais) http://forums.opengoo.org/index.php?topic=476.0