📚 Node [[cr__er une nouvelle application ou un __l__ment]]
đź““ garden/communecter/archives/Cr__er-une-nouvelle-application-ou-un-__l__ment.md by @communecter

Définition

CO2 est le nom du module correspondant Ă  la 2nd version du module Communecter (www.communecter.org). Le module CO2 fait parti du projet PixelHumain, au mĂŞme titre que d’autres modules dĂ©veloppĂ©s au sein de PixelHumain (qu’est qu’un module ?).

CO2 a lui même été construit de façon à pouvoir intégrer facilement de nouvelles applications, et les activer/désactiver très facilement, via 1 seul fichier de configuration : https://github.com/pixelhumain/co2/blob/master/config/CO2/params.json

Les applications actuellement activées pour le site communecter.org sont : welcome, recherche, agenda, annonces, live, page, et info. Ce fichier sert à configurer un certain nombre de paramètres pour chaque application, ce qui permet de configurer très rapidement une nouvelle app, sans toucher au code commun qui gère toutes les applications.

Cela permet aussi de mettre en place des instances diffĂ©rentes de communecter.org (exemple : autrerezo.org, makietjichel.com, ou autres…), sur lesquelles les administrateurs de l’instance peuvent activer et dĂ©sactiver les applications qu’ils souhaitent utiliser, sans avoir Ă  supprimer ou modifier du code.

Les développeurs peuvent aussi créer de nouvelles applications à volonté.

Créer une nouvelle application dans CO2

1- Ajouter l’application dans le fichier /modules/co2/config/CO2/params.json, en suivant l’exemple suivant :

Il convient bien Ă©videmment de remplacer "#nomdelapplication" par le nom de votre application, les titres ect … Pour l’icĂ´ne, choisir un nom parmi cette liste : http://fontawesome.io/icons/

"#nomdelapplication": {
            "inMenu" : true, 
            "useHeader" : true, 
            "open" : true, 
            "subdomain" : "nomdelapplication", 
            "subdomainName" : "Nomdelapplication",
            "hash" : "#app.nomdelapplication",
            "icon" : "nomDeLIconeFontawesome", 
            "mainTitle" : "Nom de l'application",
            "placeholderMainSearch" : "Rechercher dans ..."
        }, 

(il est conseillĂ© d’indiquer tous les paramètres, mais il est possible d’en enlever ou d’en rajouter selon vos besoins.)

2- Ajouter une nouvelle fonction dans le fichier AppController.php du module CO2

Ouvrir le fichier /modules/co2/controllers/AppController.php et rajouter par exemple :

  public function actionNomdelapplication(){
    CO2Stat::incNbLoad("co2-nomdelapplication");
    echo $this->renderPartial("nomdelapplication", array(), true);
  }

3- Créer les liens vers les actions

Dans /modules/co2/components/CommunecterController.php, il faut ajouter votre lien dans l’array "app" : (l’array app se situe environ Ă  la ligne 460 du fichier)

"app" => array(
      "nomdelapplication" => array('href' => "/ph/communecter/app/nomdelapplication", "public" => true),
), 

4- Créer la vue

Elle est appelĂ©e par le contrĂ´leur pour gĂ©rer l’affichage (code HTML, CSS, JS).

Créer le fichier /modules/co2/views/app/nomdelapplication.php

On peut inclure le code d’une autre vue en utilisant $this->renderPartial

5- Accéder à votre application

Bravo ! Maintenant vous n’avez plus qu’Ă  accĂ©der Ă  votre application grâce Ă  l’url suivante :

http://127.0.0.1/ph/co2#nomdelapplication

Créer un nouvel élément dans CO2

Communecter permet dĂ©jĂ  de gĂ©rer plusieurs Ă©lĂ©ments : citoyens, organisations, projets, Ă©vĂ©nement, news, point d’intĂ©rets, annonces, etc…)

Voici la marche Ă  suivre pour ajouter et gĂ©rer un nouvel Ă©lĂ©ment : (si vous crĂ©ez une nouvelle application, vous aurez probablement besoin de gĂ©rer un (ou plusieurs) nouveau(x) type(s) d’Ă©lĂ©ment(s))

1- Créer un nouveau controller dans le module CitizenToolKit

Créer le dossier /modules/citizenToolKit/controllers/nomdelelement

Ce dossier contiendra l’ensemble de la logique mĂ©tier.

A l’intĂ©rieur de ce dossier, crĂ©er les actions dont vous avez besoin. IndexAction est l’action par dĂ©faut. Pour crĂ©er une action, crĂ©er un fichier comme "/modules/citizenToolKit/controllers/nomdelelement/IndexAction.php" qui contiendra par exemple :

<?php
class IndexAction extends CAction
{
    public function run( $type=null, $id= null )
    {
      $controller=$this->getController();
      $params = array();
      $params["itemId"] = $id;
      $params['itemType'] = $type;

      if(Yii::app()->request->isAjaxRequest)
        echo $controller->renderPartial("index", $params,true);
      else
        $controller->render( "index" , $params );
    }
}

Et le fichier "/modules/citizenToolKit/controllers/nomdelelement/AutreAction.php"

class AutreAction extends CAction
{
    public function run()
    {
      ...
    }
}

Créer les autres actions de la même manière : "/modules/citizenToolKit/controllers/nomdelelement/searchAction.php" "/modules/citizenToolKit/controllers/nomdelelement/saveAction.php" etc

2- Créer un nouveau modèle dans le module CitizenToolKit (si besoin)

Créer le fichier /modules/citizenToolKit/models/nomdelelement.php

<?php 
class Nomdelelement {

  const COLLECTION = "nomdelelement";
  const CONTROLLER = "nomdelelement";
  const ICON = "fa-rss";
  const COLOR = "#F9B21A";

  public static function nomdelafonction() {
  }

}

3- Créer un nouveau controller dans le module CO2

C’est lui qui sera appelĂ© en premier et qui redigirera vers le controller du module CitizenToolKit. CrĂ©er le fichier /modules/co2/controllers/NomdelelementController.php et le remplir comme dans l’exemple suivant :

<?php
/**
 * NomdelelementController.php
 * 
 * description
 *
 * @author: Prénom Nom <email@email.ext>
 * Date: dd/mm/yyyy
 */

class NomdelelementController extends CommunecterController {
  protected function beforeAction($action) {
      parent::initPage();
      return parent::beforeAction($action);
  }

  public function actions()
  {
    return array(
      'index'       => 'citizenToolKit.controllers.nomdelelement.IndexAction',
      'autre'       => 'citizenToolKit.controllers.nomdelelement.AutreAction'
    );
  }
}

L’array retournĂ© par la fonction actions() contient l’essemble des pages qui seront traitĂ©es par les classes prĂ©cĂ©demment créées dans le module CitizenToolKit.

4- Créer les liens vers les actions

Dans /modules/co2/components/CommunecterController.php, il faut crĂ©er les liens vers les actions (qui afficheront les sous pages) dans l’array $pages :

"nomdelelement" => array(
  "index"   => array("href" => "/ph/communecter/nomdelelement/index", "public" => true),
  "autre"   => array("href" => "/ph/communecter/nomdelelement/autre", "public" => true)
),

5- Créer la vue

Elle est appelĂ©e par le contrĂ´leur pour gĂ©rer l’affichage (code HTML, CSS, JS).

Créer le dossier /modules/co2/views/nomdelelement puis fichiers nommés en fonction du nom des actions :

  • /modules/co2/views/nomdelelement/index.php
  • /modules/co2/views/nomdelelement/autre.php

6- AccĂ©der Ă  l’Ă©lĂ©ment

http://127.0.0.1/co2/nomdelelement/index ou http://127.0.0.1/co2/nomdelelement/autre

đź““ garden/communecter/en/archives/Cr__er-une-nouvelle-application-ou-un-__l__ment.md by @communecter

Définition

CO2 est le nom du module correspondant Ă  la 2nd version du module Communecter (www.communecter.org). Le module CO2 fait parti du projet PixelHumain, au mĂŞme titre que d’autres modules dĂ©veloppĂ©s au sein de PixelHumain (qu’est qu’un module ?).

CO2 a lui même été construit de façon à pouvoir intégrer facilement de nouvelles applications, et les activer/désactiver très facilement, via 1 seul fichier de configuration : https://github.com/pixelhumain/co2/blob/master/config/CO2/params.json

Les applications actuellement activées pour le site communecter.org sont : welcome, recherche, agenda, annonces, live, page, et info. Ce fichier sert à configurer un certain nombre de paramètres pour chaque application, ce qui permet de configurer très rapidement une nouvelle app, sans toucher au code commun qui gère toutes les applications.

Cela permet aussi de mettre en place des instances diffĂ©rentes de communecter.org (exemple : autrerezo.org, makietjichel.com, ou autres…), sur lesquelles les administrateurs de l’instance peuvent activer et dĂ©sactiver les applications qu’ils souhaitent utiliser, sans avoir Ă  supprimer ou modifier du code.

Les développeurs peuvent aussi créer de nouvelles applications à volonté.

Créer une nouvelle application dans CO2

1- Ajouter l’application dans le fichier /modules/co2/config/CO2/params.json, en suivant l’exemple suivant :

Il convient bien Ă©videmment de remplacer "#nomdelapplication" par le nom de votre application, les titres ect … Pour l’icĂ´ne, choisir un nom parmi cette liste : http://fontawesome.io/icons/

"#nomdelapplication": {
            "inMenu" : true, 
            "useHeader" : true, 
            "open" : true, 
            "subdomain" : "nomdelapplication", 
            "subdomainName" : "Nomdelapplication",
            "hash" : "#app.nomdelapplication",
            "icon" : "nomDeLIconeFontawesome", 
            "mainTitle" : "Nom de l'application",
            "placeholderMainSearch" : "Rechercher dans ..."
        }, 

(il est conseillĂ© d’indiquer tous les paramètres, mais il est possible d’en enlever ou d’en rajouter selon vos besoins.)

2- Ajouter une nouvelle fonction dans le fichier AppController.php du module CO2

Ouvrir le fichier /modules/co2/controllers/AppController.php et rajouter par exemple :

  public function actionNomdelapplication(){
    CO2Stat::incNbLoad("co2-nomdelapplication");
    echo $this->renderPartial("nomdelapplication", array(), true);
  }

3- Créer les liens vers les actions

Dans /modules/co2/components/CommunecterController.php, il faut ajouter votre lien dans l’array "app" : (l’array app se situe environ Ă  la ligne 460 du fichier)

"app" => array(
      "nomdelapplication" => array('href' => "/ph/communecter/app/nomdelapplication", "public" => true),
), 

4- Créer la vue

Elle est appelĂ©e par le contrĂ´leur pour gĂ©rer l’affichage (code HTML, CSS, JS).

Créer le fichier /modules/co2/views/app/nomdelapplication.php

On peut inclure le code d’une autre vue en utilisant $this->renderPartial

5- Accéder à votre application

Bravo ! Maintenant vous n’avez plus qu’Ă  accĂ©der Ă  votre application grâce Ă  l’url suivante :

http://127.0.0.1/ph/co2#nomdelapplication

Créer un nouvel élément dans CO2

Communecter permet dĂ©jĂ  de gĂ©rer plusieurs Ă©lĂ©ments : citoyens, organisations, projets, Ă©vĂ©nement, news, point d’intĂ©rets, annonces, etc…)

Voici la marche Ă  suivre pour ajouter et gĂ©rer un nouvel Ă©lĂ©ment : (si vous crĂ©ez une nouvelle application, vous aurez probablement besoin de gĂ©rer un (ou plusieurs) nouveau(x) type(s) d’Ă©lĂ©ment(s))

1- Créer un nouveau controller dans le module CitizenToolKit

Créer le dossier /modules/citizenToolKit/controllers/nomdelelement

Ce dossier contiendra l’ensemble de la logique mĂ©tier.

A l’intĂ©rieur de ce dossier, crĂ©er les actions dont vous avez besoin. IndexAction est l’action par dĂ©faut. Pour crĂ©er une action, crĂ©er un fichier comme "/modules/citizenToolKit/controllers/nomdelelement/IndexAction.php" qui contiendra par exemple :

<?php
class IndexAction extends CAction
{
    public function run( $type=null, $id= null )
    {
      $controller=$this->getController();
      $params = array();
      $params["itemId"] = $id;
      $params['itemType'] = $type;

      if(Yii::app()->request->isAjaxRequest)
        echo $controller->renderPartial("index", $params,true);
      else
        $controller->render( "index" , $params );
    }
}

Et le fichier "/modules/citizenToolKit/controllers/nomdelelement/AutreAction.php"

class AutreAction extends CAction
{
    public function run()
    {
      ...
    }
}

Créer les autres actions de la même manière : "/modules/citizenToolKit/controllers/nomdelelement/searchAction.php" "/modules/citizenToolKit/controllers/nomdelelement/saveAction.php" etc

2- Créer un nouveau modèle dans le module CitizenToolKit (si besoin)

Créer le fichier /modules/citizenToolKit/models/nomdelelement.php

<?php 
class Nomdelelement {

  const COLLECTION = "nomdelelement";
  const CONTROLLER = "nomdelelement";
  const ICON = "fa-rss";
  const COLOR = "#F9B21A";

  public static function nomdelafonction() {
  }

}

3- Créer un nouveau controller dans le module CO2

C’est lui qui sera appelĂ© en premier et qui redigirera vers le controller du module CitizenToolKit. CrĂ©er le fichier /modules/co2/controllers/NomdelelementController.php et le remplir comme dans l’exemple suivant :

<?php
/**
 * NomdelelementController.php
 * 
 * description
 *
 * @author: Prénom Nom <email@email.ext>
 * Date: dd/mm/yyyy
 */

class NomdelelementController extends CommunecterController {
  protected function beforeAction($action) {
      parent::initPage();
      return parent::beforeAction($action);
  }

  public function actions()
  {
    return array(
      'index'       => 'citizenToolKit.controllers.nomdelelement.IndexAction',
      'autre'       => 'citizenToolKit.controllers.nomdelelement.AutreAction'
    );
  }
}

L’array retournĂ© par la fonction actions() contient l’essemble des pages qui seront traitĂ©es par les classes prĂ©cĂ©demment créées dans le module CitizenToolKit.

4- Créer les liens vers les actions

Dans /modules/co2/components/CommunecterController.php, il faut crĂ©er les liens vers les actions (qui afficheront les sous pages) dans l’array $pages :

"nomdelelement" => array(
  "index"   => array("href" => "/ph/communecter/nomdelelement/index", "public" => true),
  "autre"   => array("href" => "/ph/communecter/nomdelelement/autre", "public" => true)
),

5- Créer la vue

Elle est appelĂ©e par le contrĂ´leur pour gĂ©rer l’affichage (code HTML, CSS, JS).

Créer le dossier /modules/co2/views/nomdelelement puis fichiers nommés en fonction du nom des actions :

  • /modules/co2/views/nomdelelement/index.php
  • /modules/co2/views/nomdelelement/autre.php

6- AccĂ©der Ă  l’Ă©lĂ©ment

http://127.0.0.1/co2/nomdelelement/index ou http://127.0.0.1/co2/nomdelelement/autre

Loading pushes...

Rendering context...

📚 Node [[créer une nouvelle application ou un élément]] pulled by Agora

Définition

CO2 est le nom du module correspondant Ă  la 2nd version du module Communecter (www.communecter.org). Le module CO2 fait parti du projet PixelHumain, au mĂŞme titre que d’autres modules dĂ©veloppĂ©s au sein de PixelHumain (qu’est qu’un module ?).

CO2 a lui même été construit de façon à pouvoir intégrer facilement de nouvelles applications, et les activer/désactiver très facilement, via 1 seul fichier de configuration : https://github.com/pixelhumain/co2/blob/master/config/CO2/params.json

Les applications actuellement activées pour le site communecter.org sont : welcome, recherche, agenda, annonces, live, page, et info. Ce fichier sert à configurer un certain nombre de paramètres pour chaque application, ce qui permet de configurer très rapidement une nouvelle app, sans toucher au code commun qui gère toutes les applications.

Cela permet aussi de mettre en place des instances diffĂ©rentes de communecter.org (exemple : autrerezo.org, makietjichel.com, ou autres…), sur lesquelles les administrateurs de l’instance peuvent activer et dĂ©sactiver les applications qu’ils souhaitent utiliser, sans avoir Ă  supprimer ou modifier du code.

Les développeurs peuvent aussi créer de nouvelles applications à volonté.

Créer une nouvelle application dans CO2

1- Ajouter l’application dans le fichier /modules/co2/config/CO2/params.json, en suivant l’exemple suivant :

Il convient bien Ă©videmment de remplacer "#nomdelapplication" par le nom de votre application, les titres ect … Pour l’icĂ´ne, choisir un nom parmi cette liste : http://fontawesome.io/icons/

"#nomdelapplication": {
            "inMenu" : true, 
            "useHeader" : true, 
            "open" : true, 
            "subdomain" : "nomdelapplication", 
            "subdomainName" : "Nomdelapplication",
            "hash" : "#app.nomdelapplication",
            "icon" : "nomDeLIconeFontawesome", 
            "mainTitle" : "Nom de l'application",
            "placeholderMainSearch" : "Rechercher dans ..."
        }, 

(il est conseillĂ© d’indiquer tous les paramètres, mais il est possible d’en enlever ou d’en rajouter selon vos besoins.)

2- Ajouter une nouvelle fonction dans le fichier AppController.php du module CO2

Ouvrir le fichier /modules/co2/controllers/AppController.php et rajouter par exemple :

  public function actionNomdelapplication(){
    CO2Stat::incNbLoad("co2-nomdelapplication");
    echo $this->renderPartial("nomdelapplication", array(), true);
  }

3- Créer les liens vers les actions

Dans /modules/co2/components/CommunecterController.php, il faut ajouter votre lien dans l’array "app" : (l’array app se situe environ Ă  la ligne 460 du fichier)

"app" => array(
      "nomdelapplication" => array('href' => "/ph/communecter/app/nomdelapplication", "public" => true),
), 

4- Créer la vue

Elle est appelĂ©e par le contrĂ´leur pour gĂ©rer l’affichage (code HTML, CSS, JS).

Créer le fichier /modules/co2/views/app/nomdelapplication.php

On peut inclure le code d’une autre vue en utilisant $this->renderPartial

5- Accéder à votre application

Bravo ! Maintenant vous n’avez plus qu’Ă  accĂ©der Ă  votre application grâce Ă  l’url suivante :

http://127.0.0.1/ph/co2#nomdelapplication

Créer un nouvel élément dans CO2

Communecter permet dĂ©jĂ  de gĂ©rer plusieurs Ă©lĂ©ments : citoyens, organisations, projets, Ă©vĂ©nement, news, point d’intĂ©rets, annonces, etc…)

Voici la marche Ă  suivre pour ajouter et gĂ©rer un nouvel Ă©lĂ©ment : (si vous crĂ©ez une nouvelle application, vous aurez probablement besoin de gĂ©rer un (ou plusieurs) nouveau(x) type(s) d’Ă©lĂ©ment(s))

1- Créer un nouveau controller dans le module CitizenToolKit

Créer le dossier /modules/citizenToolKit/controllers/nomdelelement

Ce dossier contiendra l’ensemble de la logique mĂ©tier.

A l’intĂ©rieur de ce dossier, crĂ©er les actions dont vous avez besoin. IndexAction est l’action par dĂ©faut. Pour crĂ©er une action, crĂ©er un fichier comme "/modules/citizenToolKit/controllers/nomdelelement/IndexAction.php" qui contiendra par exemple :

<?php
class IndexAction extends CAction
{
    public function run( $type=null, $id= null )
    {
      $controller=$this->getController();
      $params = array();
      $params["itemId"] = $id;
      $params['itemType'] = $type;

      if(Yii::app()->request->isAjaxRequest)
        echo $controller->renderPartial("index", $params,true);
      else
        $controller->render( "index" , $params );
    }
}

Et le fichier "/modules/citizenToolKit/controllers/nomdelelement/AutreAction.php"

class AutreAction extends CAction
{
    public function run()
    {
      ...
    }
}

Créer les autres actions de la même manière : "/modules/citizenToolKit/controllers/nomdelelement/searchAction.php" "/modules/citizenToolKit/controllers/nomdelelement/saveAction.php" etc

2- Créer un nouveau modèle dans le module CitizenToolKit (si besoin)

Créer le fichier /modules/citizenToolKit/models/nomdelelement.php

<?php 
class Nomdelelement {

  const COLLECTION = "nomdelelement";
  const CONTROLLER = "nomdelelement";
  const ICON = "fa-rss";
  const COLOR = "#F9B21A";

  public static function nomdelafonction() {
  }

}

3- Créer un nouveau controller dans le module CO2

C’est lui qui sera appelĂ© en premier et qui redigirera vers le controller du module CitizenToolKit. CrĂ©er le fichier /modules/co2/controllers/NomdelelementController.php et le remplir comme dans l’exemple suivant :

<?php
/**
 * NomdelelementController.php
 * 
 * description
 *
 * @author: Prénom Nom <email@email.ext>
 * Date: dd/mm/yyyy
 */

class NomdelelementController extends CommunecterController {
  protected function beforeAction($action) {
      parent::initPage();
      return parent::beforeAction($action);
  }

  public function actions()
  {
    return array(
      'index'       => 'citizenToolKit.controllers.nomdelelement.IndexAction',
      'autre'       => 'citizenToolKit.controllers.nomdelelement.AutreAction'
    );
  }
}

L’array retournĂ© par la fonction actions() contient l’essemble des pages qui seront traitĂ©es par les classes prĂ©cĂ©demment créées dans le module CitizenToolKit.

4- Créer les liens vers les actions

Dans /modules/co2/components/CommunecterController.php, il faut crĂ©er les liens vers les actions (qui afficheront les sous pages) dans l’array $pages :

"nomdelelement" => array(
  "index"   => array("href" => "/ph/communecter/nomdelelement/index", "public" => true),
  "autre"   => array("href" => "/ph/communecter/nomdelelement/autre", "public" => true)
),

5- Créer la vue

Elle est appelĂ©e par le contrĂ´leur pour gĂ©rer l’affichage (code HTML, CSS, JS).

Créer le dossier /modules/co2/views/nomdelelement puis fichiers nommés en fonction du nom des actions :

  • /modules/co2/views/nomdelelement/index.php
  • /modules/co2/views/nomdelelement/autre.php

6- AccĂ©der Ă  l’Ă©lĂ©ment

http://127.0.0.1/co2/nomdelelement/index ou http://127.0.0.1/co2/nomdelelement/autre

Définition

CO2 est le nom du module correspondant Ă  la 2nd version du module Communecter (www.communecter.org). Le module CO2 fait parti du projet PixelHumain, au mĂŞme titre que d’autres modules dĂ©veloppĂ©s au sein de PixelHumain (qu’est qu’un module ?).

CO2 a lui même été construit de façon à pouvoir intégrer facilement de nouvelles applications, et les activer/désactiver très facilement, via 1 seul fichier de configuration : https://github.com/pixelhumain/co2/blob/master/config/CO2/params.json

Les applications actuellement activées pour le site communecter.org sont : welcome, recherche, agenda, annonces, live, page, et info. Ce fichier sert à configurer un certain nombre de paramètres pour chaque application, ce qui permet de configurer très rapidement une nouvelle app, sans toucher au code commun qui gère toutes les applications.

Cela permet aussi de mettre en place des instances diffĂ©rentes de communecter.org (exemple : autrerezo.org, makietjichel.com, ou autres…), sur lesquelles les administrateurs de l’instance peuvent activer et dĂ©sactiver les applications qu’ils souhaitent utiliser, sans avoir Ă  supprimer ou modifier du code.

Les développeurs peuvent aussi créer de nouvelles applications à volonté.

Créer une nouvelle application dans CO2

1- Ajouter l’application dans le fichier /modules/co2/config/CO2/params.json, en suivant l’exemple suivant :

Il convient bien Ă©videmment de remplacer "#nomdelapplication" par le nom de votre application, les titres ect … Pour l’icĂ´ne, choisir un nom parmi cette liste : http://fontawesome.io/icons/

"#nomdelapplication": {
            "inMenu" : true, 
            "useHeader" : true, 
            "open" : true, 
            "subdomain" : "nomdelapplication", 
            "subdomainName" : "Nomdelapplication",
            "hash" : "#app.nomdelapplication",
            "icon" : "nomDeLIconeFontawesome", 
            "mainTitle" : "Nom de l'application",
            "placeholderMainSearch" : "Rechercher dans ..."
        }, 

(il est conseillĂ© d’indiquer tous les paramètres, mais il est possible d’en enlever ou d’en rajouter selon vos besoins.)

2- Ajouter une nouvelle fonction dans le fichier AppController.php du module CO2

Ouvrir le fichier /modules/co2/controllers/AppController.php et rajouter par exemple :

  public function actionNomdelapplication(){
    CO2Stat::incNbLoad("co2-nomdelapplication");
    echo $this->renderPartial("nomdelapplication", array(), true);
  }

3- Créer les liens vers les actions

Dans /modules/co2/components/CommunecterController.php, il faut ajouter votre lien dans l’array "app" : (l’array app se situe environ Ă  la ligne 460 du fichier)

"app" => array(
      "nomdelapplication" => array('href' => "/ph/communecter/app/nomdelapplication", "public" => true),
), 

4- Créer la vue

Elle est appelĂ©e par le contrĂ´leur pour gĂ©rer l’affichage (code HTML, CSS, JS).

Créer le fichier /modules/co2/views/app/nomdelapplication.php

On peut inclure le code d’une autre vue en utilisant $this->renderPartial

5- Accéder à votre application

Bravo ! Maintenant vous n’avez plus qu’Ă  accĂ©der Ă  votre application grâce Ă  l’url suivante :

http://127.0.0.1/ph/co2#nomdelapplication

Créer un nouvel élément dans CO2

Communecter permet dĂ©jĂ  de gĂ©rer plusieurs Ă©lĂ©ments : citoyens, organisations, projets, Ă©vĂ©nement, news, point d’intĂ©rets, annonces, etc…)

Voici la marche Ă  suivre pour ajouter et gĂ©rer un nouvel Ă©lĂ©ment : (si vous crĂ©ez une nouvelle application, vous aurez probablement besoin de gĂ©rer un (ou plusieurs) nouveau(x) type(s) d’Ă©lĂ©ment(s))

1- Créer un nouveau controller dans le module CitizenToolKit

Créer le dossier /modules/citizenToolKit/controllers/nomdelelement

Ce dossier contiendra l’ensemble de la logique mĂ©tier.

A l’intĂ©rieur de ce dossier, crĂ©er les actions dont vous avez besoin. IndexAction est l’action par dĂ©faut. Pour crĂ©er une action, crĂ©er un fichier comme "/modules/citizenToolKit/controllers/nomdelelement/IndexAction.php" qui contiendra par exemple :

<?php
class IndexAction extends CAction
{
    public function run( $type=null, $id= null )
    {
      $controller=$this->getController();
      $params = array();
      $params["itemId"] = $id;
      $params['itemType'] = $type;

      if(Yii::app()->request->isAjaxRequest)
        echo $controller->renderPartial("index", $params,true);
      else
        $controller->render( "index" , $params );
    }
}

Et le fichier "/modules/citizenToolKit/controllers/nomdelelement/AutreAction.php"

class AutreAction extends CAction
{
    public function run()
    {
      ...
    }
}

Créer les autres actions de la même manière : "/modules/citizenToolKit/controllers/nomdelelement/searchAction.php" "/modules/citizenToolKit/controllers/nomdelelement/saveAction.php" etc

2- Créer un nouveau modèle dans le module CitizenToolKit (si besoin)

Créer le fichier /modules/citizenToolKit/models/nomdelelement.php

<?php 
class Nomdelelement {

  const COLLECTION = "nomdelelement";
  const CONTROLLER = "nomdelelement";
  const ICON = "fa-rss";
  const COLOR = "#F9B21A";

  public static function nomdelafonction() {
  }

}

3- Créer un nouveau controller dans le module CO2

C’est lui qui sera appelĂ© en premier et qui redigirera vers le controller du module CitizenToolKit. CrĂ©er le fichier /modules/co2/controllers/NomdelelementController.php et le remplir comme dans l’exemple suivant :

<?php
/**
 * NomdelelementController.php
 * 
 * description
 *
 * @author: Prénom Nom <email@email.ext>
 * Date: dd/mm/yyyy
 */

class NomdelelementController extends CommunecterController {
  protected function beforeAction($action) {
      parent::initPage();
      return parent::beforeAction($action);
  }

  public function actions()
  {
    return array(
      'index'       => 'citizenToolKit.controllers.nomdelelement.IndexAction',
      'autre'       => 'citizenToolKit.controllers.nomdelelement.AutreAction'
    );
  }
}

L’array retournĂ© par la fonction actions() contient l’essemble des pages qui seront traitĂ©es par les classes prĂ©cĂ©demment créées dans le module CitizenToolKit.

4- Créer les liens vers les actions

Dans /modules/co2/components/CommunecterController.php, il faut crĂ©er les liens vers les actions (qui afficheront les sous pages) dans l’array $pages :

"nomdelelement" => array(
  "index"   => array("href" => "/ph/communecter/nomdelelement/index", "public" => true),
  "autre"   => array("href" => "/ph/communecter/nomdelelement/autre", "public" => true)
),

5- Créer la vue

Elle est appelĂ©e par le contrĂ´leur pour gĂ©rer l’affichage (code HTML, CSS, JS).

Créer le dossier /modules/co2/views/nomdelelement puis fichiers nommés en fonction du nom des actions :

  • /modules/co2/views/nomdelelement/index.php
  • /modules/co2/views/nomdelelement/autre.php

6- AccĂ©der Ă  l’Ă©lĂ©ment

http://127.0.0.1/co2/nomdelelement/index ou http://127.0.0.1/co2/nomdelelement/autre