SP:HowTo
De Hegyd Doc.
(→How To) |
(→How To) |
||
| (Une version intermédiaire masquée) | |||
| Ligne 3 : | Ligne 3 : | ||
= How To = | = How To = | ||
| - | Cette rubrique est un pense | + | Cette rubrique est un pense bête réunissant les principales question à propos de l'application des sites packagés. |
=== Comment ajouter un type de blocObject? === | === Comment ajouter un type de blocObject? === | ||
| Ligne 10 : | Ligne 10 : | ||
* enregistrement en base des [[SP:Composant:blocObjectValues|nouveaux type de valeurs]] associées à l'object | * enregistrement en base des [[SP:Composant:blocObjectValues|nouveaux type de valeurs]] associées à l'object | ||
* création de sa classe php associée | * création de sa classe php associée | ||
| - | * création des éventuels templates et | + | * création des éventuels templates et controlers associés |
Pour avoir le détail complet de chaque étape, rendez vous dans la section [[SP:Composant:BlocObject#D.C3.A9finition_des_types_de_blocObject|définition d'un blocObject]] | Pour avoir le détail complet de chaque étape, rendez vous dans la section [[SP:Composant:BlocObject#D.C3.A9finition_des_types_de_blocObject|définition d'un blocObject]] | ||
| Ligne 110 : | Ligne 110 : | ||
Chaque partie de l'application est définie dans la classe '''models/Site.php'''. Un pattern permet d'identifier la partie concerné à partir de l'URL. | Chaque partie de l'application est définie dans la classe '''models/Site.php'''. Un pattern permet d'identifier la partie concerné à partir de l'URL. | ||
La page '''www/index.php''' récupère ensuite le type de l'application par le biais de la variable '''$site''', et procède aux traitement / redirections nécessaires, selon la partie appelée. | La page '''www/index.php''' récupère ensuite le type de l'application par le biais de la variable '''$site''', et procède aux traitement / redirections nécessaires, selon la partie appelée. | ||
| - | |||
| - | |||
Version actuelle en date du 22 octobre 2010 à 13:56
[modifier] How To
Cette rubrique est un pense bête réunissant les principales question à propos de l'application des sites packagés.
[modifier] Comment ajouter un type de blocObject?
- enregistrement en base du nouveau type
- enregistrement en base des nouveaux type de valeurs associées à l'object
- création de sa classe php associée
- création des éventuels templates et controlers associés
Pour avoir le détail complet de chaque étape, rendez vous dans la section définition d'un blocObject
[modifier] Comment ajouter un champ a un type de blocObject?
- ajout du champ dans la classe du type d'object (section de manuel associée)
- enregistrement de la clé du champ en base (section de manuel associée)
- modification du template et controleur associé si besoin (section associée)
[modifier] Exemple
Je souhaiterais ajouter un nouveau champ qui permettent d'ajouter un champ de formulaire fax dans le type de blocObject "formulaire de contact"
- ajout du champ permettant d'ajouter l'option de fax dans le formulaire de contact, dans la classe php associée BlocObjectContact:
'hasFax'=> array(
'type' => 'radio',
'label' => 'Fax',
'default' => 0, //pour la modification d'un type de blocObject déja existant, il est obligatoire d'ajouter une valeur par défaut, qui sera appliquée pour les blocObject de ce type déja existant
'inline' => true,
'options' => array(
1 => 'Oui',
0 => 'Non'
)
),
- ajout du nouveau champ dans la liste des champs autorisé en base, dans la table valuesBlocObjectKey.
INSERT INTO valuesBlocObjectKey(keyName) VALUES('hasFax');
- modification du controleur et du template qui affiche ce type d'objet pour gérer ce nouveau paramètre, ici templates/cms/blocObjects/default/contact.php et controlers/cms/blocObjects/default/contact.php en utilisant la syntaxe $blocObject->values->hasFax pour savoir si l'utilisateur a choisi ou non d'afficher le champ fax dans son formulaire.
- reste a tester et à mettre en production, et c'est parti.
[modifier] Comment ajouter une propriété éditable dans la customisation des styles?
- Se rendre dans le fichier de configuration de style correspondant au conteneur associé à la propriété (voir chapitre sur les conteneurs)
- Ajouter la propriété ( la configuration de propriétés de style).
- Tester
- Mise en production en prenant soin de rafriahcir tous le cache CSS des styles personnalisés (envoyer "y" lors de la demande de rafraichissement de cache lors de la mise en production).
[modifier] Comment modifier une propriété éditable dans la customisation des styles
- Regarder ou sont définies les propriétés du conteneur dans le fichier de configuration de styles éditables.
- Se rendre dans la configuration associée au conteneur et modifier la propriété.
- Tester
- Mise en production en prenant soin de rafraichir tous le caches CSS des styles personnalisés (envoyer "y" lors de la demande de rafraichissement de cache lors de la mise en production).
ATTENTION: Il faut que les modifications n'entravent pas les styles des sites qui fonctionnaient avec la propriétés avant modification. Par exemple, dans le cas de changement d'unité,il faudra modifier les valeurs de la propriété sur les sites existant afin que l'apparence de leur site ne soit pas modifiée.
[modifier] Comment ajouter un élément éditable dans la customisation des styles?
Vous devez d'abord cibler le path css de l'élément. Pour cela, ajouter une classe bien identifiable à l'élément dans le code HTML. Ensuite suivez le processus de configuration concernant les conteneurs.
[modifier] Exemple
Ajout d'un style permettant de modifier la couleur du texte "Note : tous les champs sont obligatoires." dans les formulaire.
1.check dans la configuration générale si le conteneur permettatn de gérer les styles du formulaire existe: Non 2.création du conteneur dans la configuration générale, en ajtant le sous tableau:
'formContact' => array(
'blocId'=>Bloc::TYPE_CONTENT,
'blocObjectId'=>BlocObject::TYPE_IMAGE_GALLERY,
'type'=>StyleProperties::TYPE_FONT,
'targetElements'=> array('.formContact'), //chemin css du path associé au formulaire de contact dans le code HTML
'label'=>'Formulaire'
)
dans le tableau $stylePropertiesContainers. 3. On a besoin que de modifier la couleur du texte, on ne va pas faire appel a des conteneurs associés pour former la liste des propriétés éditable pour cet élément. On va créer un fichier formContact.php (meme nom que la clé dans le tableau de config générale) dans le repertoire des configurations conf/styleProperties, qui contiendra la propriété que l'on peut éditer. Voici le contenu:
$styles = array(
'fontColor' => array (
'type' => 'colorpicker',
'label' => 'couleur de la "note"',
'relatedColorNumber' => null,
'propertyToChange'=>'color', //on va pouvoir changer la propriété css de l'élement
'targetElements'=> array('.formRequired')//on affine le chemin css pour ne pas modifier la couleur de fond de tous les texte du bloc formulaire
)
Si la propriété contient color dans sa clé , alors elle sera considéré comme une propriété agissant sur la couleur (nécessaire pour que les palettes de couleurs agissent dessus).
C'est tout, il ne reste qu'a rafraichir la page de l'éditeur et tester.
[modifier] Comment rajouter l'inclusion d'un fichier JS/CSS?
Il suffit d'ajouter le fichier dans le fichier de configuration du composant d'inclusion.
[modifier] Comment sont gérés les coins arrondis?
La gestion ds coins arrondis est englobée dans une masterProperty liée au background de blocs. En effet, pour une comptabilité multi navigateurs, c'est une image en background qui génère les arrondis. Cette meme image permet également de gérer le remplissage du background (texture, couleur ou photo). C'est pourquoi la gestion des coins arrondis est associée a la gestion du background d'un élément en général.
[modifier] Comment sont gérés les différentes partie sde l'application
Chaque partie de l'application est définie dans la classe models/Site.php. Un pattern permet d'identifier la partie concerné à partir de l'URL. La page www/index.php récupère ensuite le type de l'application par le biais de la variable $site, et procède aux traitement / redirections nécessaires, selon la partie appelée.
