콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
7 답글
9720 화면

To create a product I'm using my own module which also create automatically product name combining specified fields values. I't quiet good idea if you want have always the same form of names or same details in title (product name). Because my company is multinational and people have always problem with naming products so to avoid mistakes or misspelled names I decided to built this module to help them and make it easier/quicker/safer and foolproof. Since then nobody except department manager can add new names to the lists used for name creation. Because i would like to avoid increasing amount of fields i need a little advice and help. Because list of fields depends on product type which is the first field in form (fields.selection()) i would like to change some or at least one field label/string but I'm not sure is it possible without writing special program in JavaScript for example.

So if product type = Computer currently named field Variant need to be changed to Speed.

In php it could be so simple ex:

<?php

if($item_type = 'Computer'){

$field_name = 'Variant';}

if($item_type = 'Monitor'){

$field_name = 'Display Size';}

php> and then field name will be changed regarding item type chosen.

Guys, is it possible to change field name (string or label) depending on value selected in selection field in some easy way ?

Of course i can create a dedicated field but if i can just change name ...


아바타
취소

"Another silly question" isn't an appropriate title for a question - please review https://www.odoo.com/forum/help-1/faq and https://www.odoo.com/forum/help-1/question/meta-why-do-some-questions-get-answers-and-others-dont-25620

작성자

Yes you absolutely right.

베스트 답변

I had same situation some time ago. What I did was:

- Create two auxiliary fields, each of one with its own label

- Put both fields in the form view

- Put the main field too in the view, but hidden

- Hide each one depending on the value of your item_type

- Inherit write or on_change method so when the value changes, you can set the main hidden field

아바타
취소
작성자

This is actually solution I used to have, multiple fields hide or displayed depending on value in other(parent) field. But it's not what I tried to achieve. I wanted to change "Label" rather than whole field :) Why ? I'm not a fan of millions of fields ;) so I wanted to limit fields to it's minimum. So if I could change only a 'Label' conditionally it would be much much better solution :)

베스트 답변

Hi, you can use a functional field (called compute field in new v8 api) for that.

아바타
취소
작성자

Problem is (again) new API (8.0) allow you to do a lot of things but in old API .... not really. I need it for old unfortunately.

@Robert, is an on_change event enough for you? This goes of when something is triggered and you can then change any other field as you'd like. The only requirement is an event happening.

작성자

@Yanthe, you suggest that using on_change i can do it ? I can change string in ? Interesting, can you give me an example how should it look like ?

관련 게시물 답글 화면 활동
1
3월 25
5523
1
1월 20
3539
1
3월 15
5150
0
11월 21
2213
6
10월 20
4223