Skip to main content Help Control Panel

 

support «   Besoin d'aide «  

Overlay à partir d'un autre [Solved]

PreviousNextIndex

Je voudrais faire un overlay pour décrire des circuits vélo

OwnerDupuis, Daniel
Progress80%
WorkflowSupport request
StatusA solution has been made available

Bonjour Je voudrais faire un overlay pour décrire des circuits vélo. L'overlay recipelevel me convient à condition de changer les noms des champs. Comment faire cela simplement sans tout casser ? (Mes compétences en php sont très limitées). Merci


Alexis Raimbault
on Feb. 8 2010

oki, je classe l'affaire...




Alexis Raimbault webmaster free-lance

Alexis Raimbault
on Feb. 7 2010

the file !




circuit-php.zip


Alexis Raimbault webmaster free-lance
Dupuis, Daniel - on Feb. 8 2010
Alexis Raimbault :

Ca marche. Merci

Alexis Raimbault
on Feb. 7 2010

Bon je renvoie un circuit qui tourne...

Pas trouvé "l'erreur", puré ! peut être une coquille dans le fichier. j'ai tout refais depuis un recipe qui marche.

au passage j'ai ajouté dans get_label les entrées pour modifier le texte des boutons pour ajouter une page et modifier cette page (=>ajouter un circuit, =>modifier ce circuit)

et j'ai aussi refais la gestion du champ "niveau" qui n'était pas conforme. j'ai pensé un moment que c'était l'erreur, mais non. En tout cas avec ta méthode la valeur de "niveau" était perdue lors de l'édition.

j'espère que cela va marcher chez toi.




Alexis Raimbault webmaster free-lance

Alexis Raimbault
on Feb. 6 2010

d'accord, mais en fait je suivais le lien au dessus et la page est accessible. C'est donc seulement à l'enregistrement ? peut être un pb dans ton overlay. tu peux poster ton fichier ici à l'occasion.




Alexis Raimbault webmaster free-lance
Dupuis, Daniel - on Feb. 6 2010
Alexis Raimbault :

C'est bien à l'enregistrement mais seulement quand on modifie un circuit déjà créé.


circuit-php.txt

Dupuis, Daniel
on Feb. 6 2010
Bonjour

Merci ça fonctionne.

Reste un petit problème :

quand on modifie un circuit, après avoir cliqué sur enregistrer , il s'affiche une page avec seulement
" Renvoi vers http://yacs.ddupuis.info/article-29-champlaurent "


C'est la même chose avec l'overlay recipelevel.
Alexis Raimbault - on Feb. 6 2010

Dupuis, Daniel :

Bonjour, je ne comprends pas quel est le pb ? Que voudrais-tu avoir à l'affichage ?




Alexis Raimbault webmaster free-lance

Alexis Raimbault
on Feb. 3 2010

le texte en anglais est dans le code. Le texte en français dans les fichiers de langues.

Je maitrise pas encore la génération mais ça ne saurait tarder car j'en ai besoin sous peu...




Alexis Raimbault webmaster free-lance

Alexis Raimbault
on Feb. 3 2010

une autre chose : les "i18n::s(...)" c'est pour faire du contenu multilingue.

on peut écrire directement les chaines en français si l'article n'est pas destiné à être multilingue. Sinon on écrit plutôt en anglais.




Alexis Raimbault webmaster free-lance
Jmarc - on Feb. 3 2010
" les "i18n::s(...)" c'est pour faire du contenu multilingue. "

Dans ce cas, Alexis, où est-ce que l'on met les textes en français et anglais ? j'ai pas trouvé...

Ah si, il y a des choses avec des traductions dans /i18n/locale/en ou fr qui disent que c'est i18n/i18n.php qui les a créé.

Concrètement, on fait comment pour définir des termes dans les 2 langues ?...


Jmarc
on Feb. 3 2010
" manque une chose : changer la déclaration de classe, en tête du fichier "

Le genre de détail qui plante toute la démo !...

merci Alexis, je corrige dans le tuto plus haut.


Alexis Raimbault
on Feb. 3 2010

Pas mal pas mal !

manque une chose : changer la déclaration de classe, en tête du fichier

class circuit extends Overlay {



Alexis Raimbault webmaster free-lance

Jmarc
on Feb. 3 2010

Je débute également avec les overlay mais voilà ce que j'ai compris pour répondre à ton besoin :

Tu recopies le fichier /overlays/recipe.php dans un nouveau fichier /overlays/circuit.php

Dans circuit.php

Remplacer

class Recipe extends Overlay {

par

class circuit extends Overlay {

Dans la fonction function get_fields($host) (construction du formulaire de saisie):

Tu remplaces les constructions des champs de la recette comme :

// the number of plates

$label i18n::s('Persons to be served');

$input '<input type="text" name="people" value ="'.encode_field($this->attributes['people']).'" />';

$hint i18n::s('Try to standardize your recipes for four people');

$fields[] = array($label$input$hint);

Par ceux que tu as besoin, comme :

// la longueur du circuit (en km)

$label 'Longueur';

$input '<input type="text" name="longueur" value ="'.encode_field($this->attributes['longueur']).'" />';

$hint 'Saisir la longueur du circuit en km';

$fields[] = array($label$input$hint);

Dans la function function get_label($name, $action='view') (modification des libellé des champs "standards"):

Tu remplaces :

  • Preparation steps par Description du circuit
  • We are trying to standardize recipes for 4 people. par Le texte d'aide que tu veux
  • Edit a recipe par Editer un circuit
  • Delete a recipe par Supprimer un circuit
  • Add a recipe par Ajouter un circuit

Dans la fonction function &get_view_text( ... (affichage de ta page au visiteur):

Tu remplaces les lignes du genre

$text .= '<p>'.sprintf(i18n::s('People to be served: %s'), $this->attributes['people'])."</p>\n";

Par

$text .= '<p>'.sprintf(i18n::s('Longueur du ciruit (en km) : %s'), $this->attributes['longueur'])."</p>\n";

En enfin, dans la fonction function parse_fields($fields) (enregistrement des infos saisies dans la base de données) :

Tu remplaces les

$this->attributes['people'] = isset($fields['people']) ? $fields['people'] : '';

Par

$this->attributes['longueur'] = isset($fields['longueur']) ? $fields['longueur'] : '';

Tu enregistres le fichier 

Dans Yacs

N'oublie pas de modifier la section où vont être créées tes pages de circuit en précisant que les pages utiliseront l'overlay "circuit" (onglet "Page d'index" > chapitre "Pages" > champ "Overlay")

 

Dupuis, Daniel - on Feb. 3 2010
Jmarc :

Merci. L'explication est claire. J'essaie dès que possible.

Files


circuit-php.zip

shared by Alexis Raimbault on Feb. 7 2010 · 10 downloads · 1,753 bytes

details

Circuit php.txt

shared by Dupuis, Daniel on Feb. 6 2010 · 150 downloads · 4,983 bytes

details

Capture01.jpg

shared by Dupuis, Daniel on Feb. 6 2010 · 29 downloads · 19,846 bytes

details

PreviousNextIndex