extrafields visible

Bonjour,

Je cherche un moyen pour que l’extrafields d’un produit ne s’affiche pas sur la fiche produit mais soit modifiable
Si on modifie le produit (l’extrafields s’affiche) si on consulte le produit (l’extrafields ne s’affiche pas)

Explication: sur le produit j’ai un extrafields avec un prix de départ (%) = prix d’achat + pourcentage le fameux pourcentage doit rester à discrétion , mais comme le commercial peut/doit consulter les produits forcément il y aura l’extrafields (%).

Si vous avez un piste ou une idée merci de votre retour

Bonjour,

les extrafield doivent poivoir être masqué sur base de leur définition (création) « ishidden »

https://wiki.dolibarr.org/index.php/Table_llx_extrafields

bien à vous

Bonjour Delcroip,

ishideen ne change rien j’ai toujours l’affichage pour le user

Bonjour :happy:
un truc du genre je pense :
https://www.dolistore.com/en/modules/796-HideMargin.html

Exactement :happy:

Je vais regarder dans le code l’utilisation de ce champ mais c’est peut-être simplement un beug.

bien à vous

Le parametre « visible » pourrait être utilisé
0- afficher nul part
1- list et fiche
2 - list
3 - fiche

Je propose d’ajouter -3
avec cette ligne dans core/tpl/extrafields_view.tpl(ligne 57)
if($extrafields->attributes[$object->table_element][‹ list ›][$key]==-3 && $action!=« edit »)break;

Solution fournie sur un plateau, j’ai honte. Je test demain matin et je te fait un retour.

Merci :blush:

Bonjour,

J’ai fait la modification il manque juste l’element list

if($extrafields->attributes[$object->table_element]['list'][$key]==-3 && $actioni!="view")break;

Bon c’est pas top vue que l’on modifie le core.

Je pense faire un extrafields case à cocher pour chaque élément que je souhaite (cacher) sur les user

Bonjour,
Sinon vous pouvez intégrer un petit bout de JS pour cacher la ligne

<script type="text/javascript">
		$(document).ready(function(){
		    $(".border > tbody:nth-child(1) > tr:nth-child(17) > td:nth-child(1) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1)").each(function(){
		        if ($(this).text() == "[b][color=#ff0000]texte_extrafield"[/color][/b]) {
		            $(this).parents("tr").hide();
		        }
		    });
		});
		</script>

Bonjour,

dans ce contexte, je conseillerais simplement l’utilisation du module Myfield (voir le Dolistore).

L’extrafield pourra être défini comme visible et modifiable pour le groupe ADMIN par exemple, et invisible pour tous les autres groupes…

Cela évite de mettre les mains dans le code… pour une somme relativement modique.

Remonter un sujet vieux de 4 mois pour placer ça pub, chapeau l’artiste !

@ksar
merci de ta remarque très constructive…

Il se trouve que le module myfield n’est pas proposé par Net Logic… C’est en revanche les Patas Monkeys qui ont développé ce produit… que je trouve très pratique !

Je pense que même 4 mois plus tard, cette fonction n’est pas proposée en standard dans Dolibarr… Donc les internautes qui auraient aujourd’hui la problématique exposée plus haut, profiteraient d’une alternative. C’est un peu la raison d’être d’un forum…

Tout le monde n’est pas capable de développer du php…

Bonne soirée.

Mea Culpa j’ai été un peu rapide.

Pardon :silly: