Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
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
Comment #0.0
tssarun CreditAttribution: tssarun commented1
Comment #0.1
tssarun CreditAttribution: tssarun commented1
Comment #1
jchin1968 CreditAttribution: jchin1968 commentedI'm encountering a similar problem with context. Using standard blocks works fine but when using context, the ESI blocks does not get rendered.
Comment #2
tssarun CreditAttribution: tssarun commentedHi 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....
Comment #3
jchin1968 CreditAttribution: jchin1968 commentedHi 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.
Comment #3.0
jchin1968 CreditAttribution: jchin1968 commented.
Comment #4
dstuart CreditAttribution: dstuart at Axis12 Limited commented