Encore des notes.
This commit is contained in:
parent
5c4ed5ebd9
commit
73282aa93a
|
@ -1,3 +1,23 @@
|
|||
@titre : url
|
||||
@description :
|
||||
|
||||
Enfants : galerie-photo
|
||||
Actions : créer_enfant, supprimer, vue
|
||||
|
||||
Vue normale :
|
||||
(titre @titre)
|
||||
(action supprimer "Supprimer cet événement")
|
||||
(texte-riche @description)
|
||||
+ liste des enfants :
|
||||
<li>[miniature][titre]</li>
|
||||
si permission créer page :
|
||||
<li>(action nouvelle_page)</li>
|
||||
|
||||
Vue miniature :
|
||||
Sélectionner le 1er enfant, lui demander sa vue "miniature", en renvoyer la partie image.
|
||||
|
||||
Donnée statique : icône "nouvelle image".
|
||||
|
||||
<?php
|
||||
|
||||
class GalerieÉvènement {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
|
||||
<%titre @titre %>
|
||||
<%texte @description %>
|
||||
<%texte-riche @description %>
|
||||
<%list ./periodes %>
|
||||
<li>
|
||||
<a href="<?php echo $periode->url(); ?>">
|
||||
|
@ -33,7 +33,7 @@
|
|||
|
||||
(document @titre
|
||||
(titre @titre)
|
||||
(texte @description)
|
||||
(texte-riche @description)
|
||||
(list ./periodes
|
||||
(lambda (p)
|
||||
(let ((rendu (rendu p)))
|
||||
|
@ -45,7 +45,7 @@
|
|||
|
||||
(document @titre
|
||||
(titre @titre)
|
||||
(texte @description)
|
||||
(texte-riche @description)
|
||||
(<ul>
|
||||
(foreach/rendu ((p ./periodes))
|
||||
(<li>
|
||||
|
@ -78,8 +78,53 @@ Dans la base de données, chaque "page" a :
|
|||
Langage de requêtes :
|
||||
- Récupérer un attribut
|
||||
- Récupérer une page enfant d'une certaine catégorie (?)
|
||||
- Trier selon un certain critère sur les éléments renvoyés.
|
||||
- Trier selon une propriété des éléments renvoyés (plus tard, on pourra trier en fonction d'autres critères).
|
||||
- Limiter le nombre de résultats (LIMIT et OFFSET).
|
||||
- Ne renvoie que les éléments que l'utilisateur a la permission de voir.
|
||||
|
||||
Un module peut déclarer des ressources statiques (par ex. un fragment de less/css).
|
||||
Les ressources doivent pouvoir être accédées via une certaine url.
|
||||
|
||||
Notes en vrac :
|
||||
===============
|
||||
|
||||
On doit pouvoir insérer des éléments supplémentaires dans une liste (entre autres le bouton "nouvelle page").
|
||||
Donc la "macro" (liste) ne fonctionnera pas. À moins que insérer soit la seule chose à ajouter. Ou si on fait
|
||||
un mécanisme qui permet d'ajouter d'autre choses à la liste (prepend / append, ou paramètres supplémentaires).
|
||||
|
||||
Il faut une macro (action), qui génère en html un bouton.
|
||||
|
||||
Dans les actions de chaque module, il y a :
|
||||
- vue (toujours)
|
||||
- set_prop (toujours?)
|
||||
- supprimer (souvent? toujours?)
|
||||
- créer_enfant (souvent)
|
||||
|
||||
Problème des class css.
|
||||
|
||||
Pour les aperçus dans la galerie : prendre le 1er enfant (ou l'enfant marqué 'aperçu').
|
||||
|
||||
Pour les titres :
|
||||
"@titre url" signifie :
|
||||
Lorsqu'on modifie le titre, on modifie aussi l'emplacement de la page de pseudo-réécriture d'url.
|
||||
De plus, lorsqu'on demande l'adresse de cette page, elle est calculée en fonction du titre.
|
||||
Il faut trouver comment générer automatiquement une url / titre / je-ne-sais-quoi dans le cas où
|
||||
le titre n'est pas renseigné (par ex. pour les 250 photos de la galerie, pour que les utilisateurs
|
||||
n'aient pas à indiquer le titre à chaque fois.
|
||||
|
||||
Totues les pages ont une date de création et de modification automatiquement.
|
||||
|
||||
TODO : pouvoir accéder l'attribut @image directement depuis l'extérieur.
|
||||
|
||||
Abstractions :
|
||||
- Valeur avec binding
|
||||
- Action (créer page, supprimer)
|
||||
- Getter et setter optionnels sur les valeurs.
|
||||
Ex: getter de titre : Renvoie "Photo [date]" si le titre est indéfini, sinon le titre.
|
||||
- Vue vs ressource (chaque ressource a une vue, une page "photo" est une ressource (celle par défaut), l'image elle-même est une autre ressource).
|
||||
|
||||
Valeurs par défaut pour les @attributs, définies dans le module lui-même.
|
||||
|
||||
Pour la galerie : 3 vues : normal, miniature (image + caption), mini-miniature (juste l'image).
|
||||
Pour les photos : 4 ressources : la page (ressource par défaut), l'image en grand, l'image en 800x600 (par ex.), l'image mini (64x64).
|
||||
La page affiche la photo 800x600, et si on clique dessus, c'est la version en grand qui est affichée.
|
||||
|
|
|
@ -1,3 +1,23 @@
|
|||
@titre : url
|
||||
@description :
|
||||
|
||||
Enfants : galerie-evenement
|
||||
Actions : créer_enfant, supprimer, vue
|
||||
|
||||
Vue normale :
|
||||
(titre @titre)
|
||||
(texte-riche @description)
|
||||
(action supprimer "Supprimer cette période.") # ssi permission supprimer
|
||||
+ liste des enfants :
|
||||
<li>[miniature][titre]</li>
|
||||
si permission créer page :
|
||||
<li>(action nouvelle_page)</li>
|
||||
|
||||
Vue miniature :
|
||||
Sélectionner le 1er enfant, lui demander sa vue "miniature", en renvoyer la partie image.
|
||||
|
||||
Donnée statique : icône "nouvel évènement".
|
||||
|
||||
<?php
|
||||
|
||||
class GaleriePériode {
|
||||
|
|
|
@ -1,3 +1,22 @@
|
|||
@titre : url
|
||||
@description :
|
||||
# external signifie : ne pas stocker dans la bdd.
|
||||
@image : external
|
||||
# private signifie : ne peut pas être modifié directement par l'utilisateur / la requête / les autres modules.
|
||||
@miniature : private,external
|
||||
set_image : fonction php qui crée la miniature.
|
||||
|
||||
Vue normale :
|
||||
(@titre titre)
|
||||
(action supprimer "Supprimer cet évènement")
|
||||
(@texte-riche description)
|
||||
(@image image)
|
||||
|
||||
Vue miniature :
|
||||
(@titre titre)
|
||||
(@image miniature)
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
class GaleriePhoto {
|
||||
|
|
Loading…
Reference in New Issue
Block a user