Jump to content
ryan

ProcessWire ProFields: Multiplier

Recommended Posts

Previously I posted about Textareas. The next field coming in ProFields is called Multiplier. This field lets you take almost any existing single-value Fieldtype, and use it as a multi-value Fieldtype. Single value Fieldtypes are those that store one piece of information at a time, for example: Text, Textarea, Integer, Float, Email, URL, etc. Any of these, and more can be multiplied with Multiplier. Here's a short video introduction to Multiplier.

Like with the previous screencast, I recommend upping the quality to 720p and viewing full screen. This one also includes narration, though we're in allergy season here so my voice is a little rough. 

The next fields I have to tell you about in a few days are: Table, PageTable and AutoLinks. 

  • Like 27

Share this post


Link to post
Share on other sites

Is this something similar to repeaters but with the min and max inputs options added?

Share this post


Link to post
Share on other sites

Great work on the narration! :D

Just for the record: Multiplier doesn't support language text fields. :P

  • Like 1

Share this post


Link to post
Share on other sites
Is this something similar to repeaters but with the min and max inputs options added?

Similar only in the multi-value aspect. Repeaters are creating a new page for each item, and that page can have any fields. That's incredibly powerful, but also consumes a lot of resources. That's why we don't recommend repeaters in large quantities or other large scale usages. Multipliers on the other hand multiply an existing Fieldtype like Text, Textarea, Integer, Email, etc. (including those that don't yet exist), without any overhead or additional resources. They are incredibly scalable. Like all the ProFields, Multipliers are a tool that enhances things you can already do [with repeaters] by doing them more efficiently and in a more focused way. They are especially desirable those using PW for large scale projects. They may also be preferable from the admin UI aspect in that they don't have to be as flexible as repeaters, so they can stay more focused on the UI side as well. 

Just for the record: Multiplier doesn't support language text fields.

Language text fields (FieldtypeTextLanguage and FieldtypeTextareaLanguage) are multi-property fields. Multiplier can only multiply single-property fields at present (though most Fieldtypes are single-property Fieldtypes). On the core side, Multiplier can multiply: Text, Textarea, Integer, Float, Email, Datetime, Selector and URL. It can also multiply 3rd-party Fieldtypes as well (so long as they are single-property). However, it is technically possible to multiply multi-property Fieldtypes as well, so I am planning to add support for multi-property Fieldtypes in one of the next versions of Multiplier. This would enable you to multiply Fieldtypes like TextLanguage, TextareaLanguage, and MapMarker (and other 3rd party multi-property Fieldtypes). Since there are a whole lot more single-property Fieldtypes, Multiplier is focused on those for this first version. 

  • Like 6

Share this post


Link to post
Share on other sites

I am desire to build on-line menu for my restaurant Roderigo Kitchen with reward coupon. Maryla and Jeffrey handle express order as they come in so you do not need to worry that. I see this textarillos and multipliers maybe good for on-line menu? Maryla also ask can it store price and photo to customer after order of daily special? Also Roderigo meat boat special this week only. Like Japanese bento boxo but all meat no veg and in special boat customer can take home and use in tub or use to drunk margarita. Can profielders help to show customer this kind special in on-line express menu?

Thanking you,

Roderigo Sosa

  • Like 3

Share this post


Link to post
Share on other sites

It also multiplies the number of reasons to buy the ProFields module. Seriously, will it happen faster if I offer to pay you in doubloons?

  • Like 1

Share this post


Link to post
Share on other sites

Very nice work these two pro fields can't wait to see what magic is inside the other pro fields.

And the narration is quite amusing haha yarrr!

  • Like 1

Share this post


Link to post
Share on other sites

Looks fantastic! Can you multiply all kinds of fields or just certain types?

Share this post


Link to post
Share on other sites

I would like a video narrated by Rodrigo :)

  • Like 4

Share this post


Link to post
Share on other sites
Can you multiply all kinds of fields or just certain types?

You can multiply any type of field that holds a single value/property. This includes Text, Textarea, Integer, Float, Email, Datetime, Selector and URL. It can also multiply 3rd-party Fieldtypes as well (so long as they are single-property). 

  • Like 2

Share this post


Link to post
Share on other sites

Hello,

this looks exactly like what I need for a new project. Before I go and buy ProFields I'd like to know if it fits for what I want to do.

In my case the multiplier field will be used on a frontend form.

Is it possible through the API to show a fixed number of fields, depending on the context?

Example:

I have a template for servers. Depending on the server model, each server can have different number of channels.

So I need to render a frontend form via the API that has either 4, 8, 10, 20 or 40 multipliers of the channel field depending on the server model.

Is this possible and is there some documentation on how to save/retrieve values through the API?

Thanks

Share this post


Link to post
Share on other sites

Is it possible to search on multiplier fields using a selector? i.e.

$q = 'a search query';

$searchResults = $pages->find("textarea_multiplier%=$q");

This produces a fatal error:

Error: Exception: Operator '%=' is not implemented in FieldtypeMultiplier

Can this be done without looping over the contents of the multiplier?

Share this post


Link to post
Share on other sites

I'm not seeing the same error here. I setup a multiplier that uses "Textarea" and then populated values and did a search using the "%=" operator. It successfully located the page I put it on. Double check that your "field type to multiply" specified on the details tab for Multiplier is "Textarea". If it still doesn't work, what version PW and Multiplier are you using?

Share this post


Link to post
Share on other sites

Images (or better all file fields) are always managed as multi value field, even if they pretend to be single as long as output-formatting is active. 

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...