======= Module Hello World! ======= Il s'agit de créer un module simple sans aucun accès aux bases de données. OpenGoo utilise le [[http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur|design pattern MVC]], mais pour cet exemple, nous avons seulement besoin de la vue et du contrôleur. ===== Nouveau 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); } } ===== Nouvelle vue ===== 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 ! ===== Intégrer dans OpenGoo ===== 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') } }), ===== Définir un label et un icône pour le Module ===== 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/16x16. 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