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(
        'handle' => $block->subject, 
        'content' => $content, 
        'collapsed' => FALSE
    ); ?>

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.