Score:0

Why might a panel pane print a block as class="panel-pane pane-block..." vs class="block block--views..."?

tw flag

I apologize if the wording for this question title does little to explain my problem. I'm so deep into not understanding an issue I'm having trouble describing it.

To preface, I'm quite a noob with drupal 7, I really know just enough to be dangerous. I may use a wrong word to describe something, so sorry about that.

I'm having [multiple] issues while attempting to clone a previous project on my website, but one has really left me stuck. I have a panel page in which I placed five blocks using the "panel content" tab of the page. Some were normal blocks, others were views blocks. One of these views blocks is a table of contents, which I intercept with a custom template file named block--views--[view-name]-[block-name].tpl.php. I use this template to encapsulate the table of contents in a ctool collapsible dropdown using the following:

<div class="toc-dropdown">
    <?php print theme(
      'ctools_collapsible',
      array(
        'handle' => $block->subject, 
        'content' => $content, 
        'collapsed' => FALSE
      )
    ); ?>
</div>

To clone this project I made another panel page, cloned any blocks, as well as the view in question, which had three blocks. Everything got new machine names. The page printed out the same content, but I noticed the dropdown wasn't working, so I inspected the page and found that for some reason the new, cloned page prints the table of contents block with the following class:

class="panel-pane pane-block pane-views-[view-name]-[new-table-of-contents] pane-views"

If I don't intercept the old table of contents block, it prints with the following class, as well as an id:

id="block-views-[old-view-name]-[old-table-of-contents]" class="block block--views block--views-[old-view-name]-[old-table-of-contents]"

As I mentioned, I know just enough to be dangerous, and I frequently forget how I accomplished a particular project afterwards, so this is likely an issue from me thinking I cloned the old page exactly like I built it, when in fact I did something different this time around. Does anyone know why a block which is part of a panel pane would be printed as a class="block" while another one is a class="panel-pane"? Any help is so very much appreciated!

A bit of further information, if it's helpful

I managed to hook this cloned table of contents block using panels-pane--block--views-[view-name]-[new-table-of-contents].tpl.php, but found that this block seems to have completely different variables.

I tried using some devel tools to print out objects and such, and found that while the old table of contents $block->subject and $content were of type string, $block->subject is NULL in the new, panel-pane block table of contents and $contents is an array.

I have a feeling this issue is stemming from some fundamental misunderstanding I'm having about how drupal works.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.