What's the deal with Deno? We talk with a major contributor to find out. Listen now.
41

No one can be told what the Parse Order is, you have to see it for yourself. Jest aside, parse order is a very tricky subject indeed. My PDF and blog article will help somewhat in grasping it, and some might find my Parse Order Pro sides helpful. But those only are pointers to a more general approach to EE's template parsing. The point is, EE's parse ...


15

Fleshing this out further to answer (in part) your question of what is parse order. Essentially, all parse order is - is the 'order' in which ExpressionEngine takes to process (or parse) each aspect from a page being requested to the completion/render of the page to the browser. The following is taken directly from Low's Parse Order: Read URI to determine ...


13

Stash and Low Variables are complementary. Low Variables Essentially a replacement for native snippets and global variables. Provides a control panel interface for managing variables. Variables may be considered content - text values, matrix data, default images - or code, such as a tag that outputs your primary navigation or contains your footer markup. ...


12

Here's a link to Low's foundational pdf -- it's got some more detail which can be useful, and it will am sure update as knowledge grows or EE is extended. http://loweblog.com/downloads/ee-parse-order.pdf Since he will likely not do it, I'll also give a link where Low discusses parse order in detail, and in relation to his very well regarded Low Variables, ...


11

Turns out my problem was the {exp:low_variables:pair} tag was nested in a {exp:channel:entries} tag. To fix this you have to use the var_prefix="" parameter. {exp:low_variables:pair var="lv_my_image" var_prefix="assets"} {assets:url} {/exp:low_variables:pair} With this syntax you can access all of the Assets' tags. {exp:low_variables:pair var="...


7

The lv_fallback_banner is an Assets variable type, which stores the data like this: {filedir_x}my-image.jpg. To parse the filedir-variable, you need to use the {exp:low_variables:single} tag, so Assets gets called and can process it (instead of just dumping the variable content in the template). In this case, it will always return the parsed variable ...


7

For any variable that needs extra processing, like the Wygwam variable type, use the tag syntax rather than the variable syntax: {exp:low_variables:single var="my_wygwam_var"} Note that having early parsing on or off is irrelevant for the tag syntax, so you can leave it off.


6

Your first conditional statement is an advanced conditional (since it includes an AND clause), which means that both of your {preload_replace} variables are being called every time. Since subsequent {preload_replace} calls for the same variable are ignored, I'd guess that you're ending up with {event_masthead} every time, is that right?


6

The variables inside the field need to be prefixed with the Grid variable name, like this: {lv-home-slider:slide} {lv-home-slider:caption}


5

Have you considered another of Low's add-ons? Low Yearly Archives


5

Okay, this definitely is an Assets issue, but here's a temporary fix. Open up ft.assets.php and look up the grid_replace_tag method, around line 1771. In there, you can see this line of code: $field_name = ee()->db->select('field_name')->from('channel_fields')->where(array('field_id' => $this->field_id))->get()->row('field_name'); ...


4

I fixed this issue. It was/is a bug in Playa. Pixel and Tonic now knows about it and will include a fix in the next release. In the meantime, here is my solution: Change Line 2484 of ft.playa.php to... $data = array( 'parent_var_id' => $this->var_id, 'parent_is_draft' => 0 ); Basically added 'parent_is_draft' => 0


4

If you want to output the entries that you selected in the LV-Playa field, use the Parse (or its alias: Pair) tag. You can then use any of the parameters can use with a playa:children tag. So, for example: {exp:low_variables:pair var="lv_settings_home_feature_items" limit="3"} ...more code here... {/exp:low_variables:pair} To get to the other related ...


4

There is a bit of a bug in Playa that impacts Low Variables: exp_playa_relationships has parent_var_id field. It's supposed to be either 0 or 1. Low Variables sets it to NULL due to an oversight in our code. The solution was to set the column to 0 for rows, that were not 1. We'll have a fix for this included in Playa in the future, but for right now, ...


4

To make sure extra processing is done before the var is put in the template, use the tag syntax rather than the variable syntax: {exp:low_variables:single var="my_wygwam_var"}


4

Adding a custom CP navigation tab is the best way to do it. But as you said it is tedious to log in as each individual user and manually create the link. There are two add-ons that will enable you to do it on a per-member-group basis. 1) Member Group Tabs This extension allows you to create navigation tabs for entire member groups in the ...


3

It's to do with the good old parse order. To get around it use the short version of the tag together with early parsing and it should work so simply {my_var} instead of e.g. {exp:low_variables:single var="my_var"}


3

Freeform 4 (free version) supports plugins in the “Email Message” notification field. It should be possible to use one of Low Variables tags instead of the simple global variable syntax: {exp:low_variables:parse var="my_low_variables_var"} Or you could write your own simple plugin that outputs whatever you want. But I dont’t know if plugin usage in ...


3

If you're using early parsed vars only, try putting both of them in the same LV group and make sure {lv_tmpl_utility_belt} comes before {lv_ee_casestudy_prevnext_entries}. This ensures that the vars will be put into the template correctly. Having the second var above the first will fail. To clarify, you've got 2 vars, A and B. A contains B, so A needs to be ...


3

The issue is that any {if:else} conditional nested inside the simple conditional {if segment_x} makes it an advanced conditional, which is parsed late in the template. So using exp:ifelse or exp:switchee is one fix. Another more hidden trick (without add-ons) (thanx to low), is to set the if:else with a preload_replace. The simple conditional is parsed ...


3

One reason to use late parsing is that early parsing adds slightly more overhead in a lot of cases. The usual thought is that if you don't need things to be parsed early, you should leave them late-parsed for performance. That said, it's a very minor bit of overhead. It is also possible that you have some Low Variables and you want to use one of them as ...


3

Okay, first, turn off early parsing for the myassetsimage variable. Then try and use Asset's {url} variable (see docs) in CI Img's src-parameter instead of the Low Variables name. That means that your code would look like this: {exp:low_variables:pair var="myassetsimage"} {exp:ce_img:pair src="{url}" width="640" height="400" class="img-polaroid" alt=""} ...


3

I hear what you're saying about automating but in reality just how many holidays do you honour? It's not going to take too long to do it manually. I would create a channel for holidays and create an entry for each holiday with the entry and expiration dates set. Then on your template use a channel entries tag pair with show_future_entries="no" In theory ...


3

OK - got it working by using :parse in a tag pair around the channel:entries tag: {exp:low_variables:parse var='default_site:gv_ft-featured-stories'} {exp:channel:entries site="default_site" channel="project_news|projects" limit="1" entry_id="{gv_ft-featured-stories:data}" orderby="date" sort="desc" dynamic="no" disable="category_fields|member_data|...


3

You can use the Search parameter to return only rows that have the checkbox cell checked. {exp:low_variables:parse var="lv_homeslider" search:name_of_checkbox_cell="true"} {total_rows} {/exp:low_variables:parse} "true" should be the actual value that you entered under "Multi-Select Options" in the checkbox field/cell settings.


3

Enabling Save As Files in Low Variables does have a slight performance impact. In order to tie in to native EE functionalities, LV needs to update the native exp_global_variables table with the data gathered from the files. This means, in contrast to what jchrono-battle is saying, EE does not load from the DB or filesystem, as far as LV is concerned. Rather ...


2

If you're using Low Variable you can create groups to keep your variable in. These groups parse in the order they are listed. I find it helpful to have two groups, one on top called 'snippets early' and another just underneath called 'snippets later'.


2

The variable syntax, {lv_my_variable}, doesn't support any additions or variations like that. It's like a Snippet or Global Variable: just as is. For extra processing, you'd need to use the tag syntax: {exp:low_variables:single var="lv_my_variable"}. However, getting to additional options like the :has_excerpt function is up to the fieldtype author to ...


2

If you are manually editing the options of the custom field, why not replace <p>Description One.</p> etc with low variables? (Separate text fields, not a matrix field) {if custom_field =="Option One"}{lv_description_one}{/if}


2

I have run into this problem also. The developer of Expresso has indicated that this is not supported and might never be. While I don't have a solution, I did some tests to see if any other "wysiwyg"-style fieldtypes support this. Here's what I found: Native RTE: No Expresso: No Wygwam: Yes Wyvern: Yes Redactee: Yes Editor (DevDemon): Yes


Only top voted, non community-wiki answers of a minimum length are eligible