Skip to main content Help Control Panel

 

support «   Besoin d'aide «  

Enlever des onglets sur un overlay

PreviousNextIndex

OwnerChristian
Progress0%
WorkflowSupport request
StatusProblem has been recorded
Est-il possible sur un overlay en mode "ajouter une page" de ne pas mettre à disposition des membres les onglets "contenu" et "options"

et par extension de ne pas afficher les champs de saisie du contenu additionnel ni les étiquettes

Christian
on Jan. 6 2010
C'est une très bonne idée. Avec une possibilité d'avoir le contrôle sur le texte d'aide sur le côté ca serait un plus pour "personnaliser" la page.

Merci encore


Christian Loubechine
actupro


Actupro
quelques sites yacs : création site internet annuaire pro

Bernard Paques
on Jan. 5 2010

Je rebondis sur la suggestion d'Alexis, qui est sans doute le plus proche de la bonne pratique que nous recherchons.

yacs sait déjà gérer les options de type view_as_tartenpion, qui permet de débrancher le fonctionnement normal du script articles/view.php vers articles/view_as_tartenpion.php. Ce dernier script ne fait pas partie du noyau, on peut donc y mettre ce qu'on veut, et il est quand même complètement intégré dans le fonctionnement de yacs (méta-données, jolies URL, ...)

La solution serait de faire à peu près la même chose, mais pour le script de modification. En gros, en ajoutant l'option edit_as_simple, le script articles/edit.php serait débranché vers articles/edit_as_simple.php. Ce débranchement aurait lieu à la fois en lecture (pour construire le formulaire affiché à l'écran) et en écriture (pour sauver les données saisies). Vous seriez donc libre, dans vos scripts particuliers, de choisir les champs affichés en saisie, et d'utiliser Articles::put_attributes() pour sauver un sous-ensemble des attributs normaux d'une page.

Si vous êtes d'accord je m'y met tout de suite, histoire de vous permettre de faire quelques tests dès la prochaine livraison du logiciel ...

Alexis Raimbault - on Jan. 6 2010

Bernard Paques :

Oui c'est génial. Il faut peut être un fichier de base avec un squelette pour un fichier view_as_foobar et edit_as_foobar ?

christian : je pense que tu pourras réécrire la boite d'aide avec le mécanisme que propose Bernard. Note que tu peux aujourd'hui déjà ajouter un texte en tête de l'aide avec un overlay, en sauvgardant ton texte dans un attribut 'help' de l'overlay.

 




Alexis Raimbault webmaster free-lance

Denis Flouriot
on Dec. 14 2009
Je découvre les behaviors. Je vois qu'ils mettent 2 methodes a disposition que l'on peut surcharger : - add_commands - allow

Si j'ai bien compris, il y aurait des methodes supplementaires que chacun pourrait surcharger pour choisir les onglets et les champs à cacher ? par exemple : - get_hidden_fields - get_hidden_tabs

Cela ferait surement beaucoup de modifications dans le code de edit.php pour conditionner : - l'affichage des champs - les requetes SQL insert/update

Voilà pour l'édition, mais je ne vois pas l'interet d'agir sur view.php ou view_as_tabs.php car on a déjà les méthodes des overlays qui permettent d'afficher ce qu'on veut en lecture.

C'est peut-être parce que j'ai pas bien compris ?

Alexis Raimbault
on Dec. 14 2009

Bernard Paques :

je comprends plus la logique !? Pourquoi modifier articles/view_as_tabs.php et articles/edit.php en fonction de l'éventuel appel à un behavior ?

dans le cas de Denis, ne lui faudrait-il pas plutôt une nouvelle option "simple_edition" à donner aux pages ?

 




Alexis Raimbault webmaster free-lance

Denis Flouriot
on Dec. 9 2009

merci pour vos avis.

Bernard Paques - on Dec. 13 2009

Denis : Il faudrait en fait faire évoluer yacs pour pouvoir déléguer la fonction de filtrage des onglets à un autre script que articles/view.php, ou que articles/edit.php. Deux candidats potentiels : l'interface overlay et l'interface behaviors. Les deux sont liées à une section donnée, mais ont des rôles différents. Un overlay est d'abord du contenu en plus dans la page, avec le code qui va avec. Un behavior est un comportement particulier, du code pur indépendant des données gérées. Pour le filtrage des onglets, il me semble que l'architecture serait meilleure avec un nouveau behavior.

En gros, on rajouterait un mot-clé du genre "simple_tabs" dans le champ Comportements d'une page, pour activer le script behaviors/simple_tabs.php (à créer) dans les scripts articles/view_as_tabs.php (à faire) et articles/edit.php (à faire). Ca joue ?


Denis Flouriot
on Dec. 9 2009

ok ! ça me plait assez, merci.

J'ai juste un peu peur que ces lignes de code (if) soient écrasées en cas de mise à jour de version yacs.

Est-ce le cas ? Quand vous touchez des fichiers du "noyau", vous arretez les mises à jours ou bien vous repercutez vos modifs si besoin après la mise à jour ?

Alexis Raimbault - on Dec. 9 2009

répercusion au besoin.




Alexis Raimbault webmaster free-lance

Alexis Raimbault
on Dec. 9 2009

Pas d'autre idée que celle de Christian : il te faut modifier articles/edit.php et encapsuler par un if  (Surfer::is_associate() ) les champs que tu veux masquer.




Alexis Raimbault webmaster free-lance

Christian
on Dec. 8 2009

Je ne pense pas que cela soit possible sauf a trifouiller directement dans le edit.php de l'article.

Pour enlever des champs et des onglets j'avais penser à mettre des conditions "si utilisateur=associé alors j'affiche le champ"

-----
Christian Loubechine
actupro



Actupro
quelques sites yacs : création site internet annuaire pro

Denis Flouriot
on Dec. 8 2009

Je relance le sujet... car j'aimerais aussi cacher des onglets et des champs.

J'ai pensé a rendre des champs invisibles par le css. cela doit pouvoir se faire via la propriété "name" qui est renseignée pour les input mais les labels n'ont pas d'identifiant donc ce n'est pas une bonne solution.

je suppose qu'on doit pouvoir utiliser, dans articles/edit.php :

Articles::put_attributes

au lieu de

Articles::put

On pourrait ainsi, par exemple, permettre à un overlay de definir la liste des champs et des onglets a ne pas afficher ? (et a ne pas mettre a jour)

mais il faudrait faire pas mal de modifications dans les fichiers du "noyau".

PreviousNextIndex