From eb1413c5e70c5d896c789525807c6841dd1cd73e Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Mon, 11 Apr 2011 13:28:37 +0000 Subject: [PATCH] =?UTF-8?q?Si=20pas=20de=20squelette=20d'affichage=20de=20?= =?UTF-8?q?contenu=20disponible,=20on=20en=20propose=20un=20par=20d=C3=A9f?= =?UTF-8?q?aut,=20qui=20se=20base=20sur=20l'=C3=A9numeration=20'champs=5Fc?= =?UTF-8?q?ontenu'=20si=20disponible=20dans=20la=20declaration=20de=20l'ob?= =?UTF-8?q?jet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Un nouvel objet editorial basique ne nécessite donc plus qu'un formulaire d'édition pour avoir une interface complète fonctionnelle dans l'interface privée. Pour un objet non editable (exemple de données importées et figées, ou mises à jour de façon automatique), il suffit de le déclarer pour le visualiser et naviguer dans la liste de ses instances en base de donnée. --- .gitattributes | 1 + ecrire/base/objets.php | 3 ++- ecrire/public/styliser.php | 8 ++++++++ ecrire/public/styliser_par_z.php | 4 ++-- prive/echafaudage/contenu/objet.html | 2 +- prive/objets/contenu/objet.html | 12 ++++++++++++ 6 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 prive/objets/contenu/objet.html diff --git a/.gitattributes b/.gitattributes index 41d8e0682a..22a89a0b1c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -721,6 +721,7 @@ prive/modeles/text_html.html -text prive/modeles/video.html -text prive/objets/contenu/article.html -text prive/objets/contenu/auteur.html -text +prive/objets/contenu/objet.html -text prive/objets/contenu/plugin_item_rss.html -text prive/objets/contenu/rubrique-enfants.html -text prive/objets/contenu/rubrique.html -text diff --git a/ecrire/base/objets.php b/ecrire/base/objets.php index 94d9ea5438..3316901ea1 100644 --- a/ecrire/base/objets.php +++ b/ecrire/base/objets.php @@ -252,8 +252,9 @@ function lister_tables_objets_sql($table_sql=null, $desc=array()){ * info_nb_objets * * principale + * champs_contenu : utlise pour generer l'affichage par defaut du contenu * editable - * champs_editables + * champs_editables : utilise pour prendre en compte le post lors de l'edition * * titre * date diff --git a/ecrire/public/styliser.php b/ecrire/public/styliser.php index 8c86ac039d..aefde0f7c2 100644 --- a/ecrire/public/styliser.php +++ b/ecrire/public/styliser.php @@ -88,6 +88,14 @@ function styliser_par_objets($flux){ if (isset($objets[$table_sql])) $flux['data'] = $echaffauder($table,$table,$table_sql,"prive/objets/liste/objets",$flux['args']['ext']); } + if (strncmp($flux['args']['fond'],'prive/objets/contenu/',21)==0){ + $type = substr($flux['args']['fond'],21); + $table = table_objet($type); + $table_sql = table_objet_sql($table); + $objets = lister_tables_objets_sql(); + if (isset($objets[$table_sql])) + $flux['data'] = $echaffauder($type,$table,$table_sql,"prive/objets/contenu/objet",$flux['args']['ext']); + } } return $flux; } diff --git a/ecrire/public/styliser_par_z.php b/ecrire/public/styliser_par_z.php index bdb54c7b6e..c5e8a16d12 100644 --- a/ecrire/public/styliser_par_z.php +++ b/ecrire/public/styliser_par_z.php @@ -316,13 +316,13 @@ function prive_echaffauder_dist($exec,$table,$table_sql,$desc_exec,$ext){ elseif($type = $desc_exec AND strpos($type,"/")===false){ $dir = z_blocs(test_espace_prive()); $dir = reset($dir); - $scaffold = "<INCLURE{fond=prive/echafaudage/$dir/objets,objet=".$type."} />"; + $scaffold = "<INCLURE{fond=prive/echafaudage/$dir/objets,objet=".$type.",env} />"; } // morceau d'objet : on fournit le fond de sibstitution dans $desc_exec // et objet et tire de $table elseif($fond = $desc_exec){ $dir = md5(dirname($fond)); - $scaffold = "<INCLURE{fond=$fond,objet=".objet_type($table)."} />"; + $scaffold = "<INCLURE{fond=$fond,objet=".objet_type($table).",env} />"; } $base_dir = sous_repertoire(_DIR_CACHE,"scaffold",false); diff --git a/prive/echafaudage/contenu/objet.html b/prive/echafaudage/contenu/objet.html index 452202d67e..ba2cc9a021 100644 --- a/prive/echafaudage/contenu/objet.html +++ b/prive/echafaudage/contenu/objet.html @@ -3,7 +3,7 @@ [(#BOITE_OUVRIR{[ - [(#AUTORISER{modifier,#OBJET,#ID_OBJET}) + [(#AUTORISER{modifier,#OBJET,#ID_OBJET}|et{#OBJET|objet_info{editable}}|oui) [(#ID_OBJET|afficher_qui_edite{#OBJET}|non) [(#ID_OBJET|generer_url_ecrire_entite_edit{#OBJET}|icone_verticale{[(#OBJET|objet_info{texte_modifier}|_T)],#OBJET,edit,right ajax preload})] diff --git a/prive/objets/contenu/objet.html b/prive/objets/contenu/objet.html new file mode 100644 index 0000000000..20dae990cd --- /dev/null +++ b/prive/objets/contenu/objet.html @@ -0,0 +1,12 @@ +<BOUCLE_champs(DATA){source table,#ENV{objet}|objet_info{champs_contenu}}> +#SET{value,#ENV{id}|generer_info_entite{#ENV{objet},#VALEUR}} +<div class="champ contenu_#VALEUR[ (#GET{value}|strlen|?{'',vide})]"> +<div class='label'>[(#ENV{objet}|concat{':info_',#VALEUR}|_T)]</div> +<div class='#VALEUR'>#GET{value}</div> +</div> +</BOUCLE_champs> +[<div class="champ contenu_notes"> +<div class='label'><:info_notes:></div> +<div dir='#LANG_DIR' class='notes'>(#NOTES)</div> +</div>] +</B_champs> \ No newline at end of file -- GitLab