Dear All,
Currently i built my home page with panel page. In that page i have several panes. I installed esi module along with all sub modules(esi_block,esi_context, esi_panels installed). For blocks its working(<esi:include), But for pane, though the pane settings is showing ESI and it saves, but in its not working in display(<esi:include is not included). Can anyone help to implement esi tag for panels_pane(ttl)?

Comments

tssarun’s picture

Issue summary: View changes

1

tssarun’s picture

Issue summary: View changes

1

jchin1968’s picture

I'm encountering a similar problem with context. Using standard blocks works fine but when using context, the ESI blocks does not get rendered.

tssarun’s picture

Hi jchin1968,

I feel that esi esi_panels.module work only for the panels which has the setting : RENDERER type is 'standard'. and also i believe that following function(esi_panels__panel_context_save) present in esi_panels.module is the responsible for rendering esi tags. In my case i am using 'In-Place Editor' shortly called 'ipe' as render type. While we saving the panel setting and its triggers the function called esi_panels__panel_context_save. Inside that function following code is present .

if ($handler->conf['pipeline'] == 'standard' && _esi_panels__display_uses_esi($handler->conf['display'])) {
$handler->conf['pipeline'] = 'esi';
}

You can see that only $handler->conf['pipeline'] is 'standard' then only pipeline is set to esi. since i am using In-Place Editor(ipe) and if condition is failed. So no esi tag is rendering. So i done is i changed my panel rendering to 'standard' type and esi works fine. i feel ESI panel pipeline is need to re figure, so that irrespective panel rendering type,(either standard,ipe or any other) esi (<esi:include) tag should work....

jchin1968’s picture

Hi tssarun. Thanks for the info. I haven't worked with panels much but since you seemed to have got it working I may start using it instead of context.

With regards to why context is not rendering ESI blocks, I think it has to do with the sequence of events in esi_context.module. The function esi_context_context_load_alter() makes the assumption that hook_block_view() (in esi_block.module) will be called after it has finished but what's happening is esi_block_block_view() is called before esi_context_context_load_alter(). Any idea how to get around that? Thanks.

jchin1968’s picture

Issue summary: View changes

.

dstuart’s picture

Issue summary: View changes
Status: Active » Closed (outdated)