Buy Now
Sign in

view, fn or var?

emmexx , December 12 2017
I'm a little bit confused about the use of the different shortcodes. Sometimes I can't find consistency in the results or I can't find a rule as to how to use one or the other.

Example given.

I created a view event to display the content of a db record. The event content is:

The view is an HTML object whose content is:
<dl class="uk-description-list uk-description-list-line">
<dt>1st field</dt>

One of the fields has json content (the result of a repeater/multiplier in the form):
[['name' => 'maxx', 'description' => 'some text'], ['name' => 'Jim', 'description' => 'some other text']]

In order to display the content of that field in the view I created a function that i call like this:

The join_array fn is a Loop that has {var:myarray} as Data provider and {var.join[ -> ]:join_array.row} as Loop body.

Everything works fine here.

I decided to reuse the join_array fn in another context.

In a table view I added a column that displays a tooltip icon. The tooltip content is retrieved from the record data of the row.
So in the Column views of the table view I added:
popup:{fn:popup_event} (and I tried with a view too popup:{view:popup_event2} )

The popup_event fn is a Custom field in which Content is:
<i data-hint="{var:table2.row.event.1stfield}, {var:table2.row.event.2ndfield}
<br />
{fn:join_array$myarray=(var:table2.row.event.names)}" class="icon info circular blue inverted small tooltipstered"></i>

In the tooltip 1stfield and 2ndfiled are displayed but nothing else. Why?

Thank you
I found out the problem.
The field event.names is json formatted. When you retrieve it using a read data you have to put it in the Special fields list in the format
In my 1st example event.names was in the special fields list, in the 2nd it wasn't. My bad.

Problem solved.