<div dir="ltr">Subject line looks more like a general approach. If it is required to have a full fledged custom UIType then the changes would need to be handled in many places as mentioned.<br><div><br></div><div>If it is just a specific field for a few modules and is not required in Reports, Listview search etc, then yes, just adding the Detail and Edit view tpl, Field model for the UItype should do the job.</div><div><br></div><div>Adding the top level custom directory is a good idea, we are already using this approach internally, and a step further actually. Have mentioned it at <a href="http://code.vtiger.com">code.vtiger.com</a>.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 22, 2020 at 5:39 PM Alan Lord <<a href="mailto:alanslists@gmail.com">alanslists@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">A canvas field could be useful for many things - I have a specific <br>
use-case here which I do not want to go into but the requirement may be <br>
applicable across multiple modules... I'm not sure that Reports will be <br>
an issue though - why would you want to report _anything_ about a canvas <br>
field?<br>
<br>
Anyway - creating a new UIType and registering it in the <br>
vtiger_ws_fieldtype table appears to be working. I've created a <br>
Canvas.php Field Model and a couple of tpl files for Detail and Edit views.<br>
<br>
It's a shame that all this can't be kept in a custom module though (or <br>
outside the standard module structures) - for now it will have to remain <br>
in the Vtiger module structure. Hence why I suggested adding a top-level <br>
"custom" directory to Vtiger [1]<br>
<br>
<br>
Al<br>
<br>
[1] <a href="https://code.vtiger.com/vtiger/vtigercrm/merge_requests/585#note_8739" rel="noreferrer" target="_blank">https://code.vtiger.com/vtiger/vtigercrm/merge_requests/585#note_8739</a><br>
<br>
<br>
On 22/06/2020 12:52, nilay khatri wrote:<br>
> If it is for specific modules (and field) only then why not override the <br>
> behaviour of a near match/text type field in those modules?<br>
> <br>
> If it is about adding a UI type available in layout Editor as well, then <br>
> there is much to be done. Such as in Reports, CustomViews, <br>
> QueryGenerator etc..<br>
> <br>
> On Mon, Jun 22, 2020 at 4:12 PM Alan Lord <<a href="mailto:alanslists@gmail.com" target="_blank">alanslists@gmail.com</a> <br>
> <mailto:<a href="mailto:alanslists@gmail.com" target="_blank">alanslists@gmail.com</a>>> wrote:<br>
> <br>
>     I want to add a new UIType field to vtiger 7 that displays an html<br>
>     canvas element.<br>
> <br>
>     Am I right in thinking I should register it vtiger_ws_fieldtype and<br>
>     if I<br>
>     give it a fieldtype of "canvas" then I can extend the<br>
>     Vtiger_Field_Model<br>
>     to load it?<br>
> <br>
>     One thing I don't quite get is how in Detail Views the UIType template<br>
>     file does not seem to be used at all - it only seems to be called for<br>
>     Edit Views. So for Detail View do I need to modify the<br>
>     DetailViewBlockView.tpl for all/any modules where I might want to<br>
>     use my<br>
>     new field?<br>
> <br>
>     And in terms of choosing a UIType _number_ how do we prevent possible<br>
>     collisions? I can choose something like 995 or whatever, but presumably<br>
>     another developer could also choose the same number without knowing?<br>
> <br>
> <br>
>     Cheers<br>
> <br>
> <br>
>     Al<br>
> <br>
>     _______________________________________________<br>
>     <a href="http://www.vtiger.com/" rel="noreferrer" target="_blank">http://www.vtiger.com/</a><br>
> <br>
> <br>
> _______________________________________________<br>
> <a href="http://www.vtiger.com/" rel="noreferrer" target="_blank">http://www.vtiger.com/</a><br>
> <br>
_______________________________________________<br>
<a href="http://www.vtiger.com/" rel="noreferrer" target="_blank">http://www.vtiger.com/</a></blockquote></div>