【问题标题】:Drupal - dynamically add class to wrapping div based on panel pane content node typeDrupal - 根据面板窗格内容节点类型动态地将类添加到包装 div
【发布时间】:2023-04-10 00:12:01
【问题描述】:

我正在使用 drupal 7 面板无处不在模块,并且我已经为我的主页设置了面板页面模板。问题是我需要向模板中的包装 div 添加一个类,该类取决于包装器内的面板窗格内的节点类型。这需要动态添加,因为我们的站点编辑器会经常移动面板窗格。

即我的模板中的一行如下所示:

   <div class="content_wrapper">
        <div id="main-content-row1" class="content">
            <?php print render($content['content-row1']); ?>
        </div>
    </div>

我想根据 $content['content-row1'] 中的节点类型在 'content_wrapper' div 上动态添加一个类。

【问题讨论】:

    标签: drupal drupal-7 drupal-modules drupal-theming


    【解决方案1】:

    从面板模块中找到打印该面板布局的 tpl.php 文件(可以在“panels/plugins/layouts/YOUR_LAYOUT”文件夹下找到)并将其复制到您的主题文件夹

    在 tpl.php 文件中添加 php 代码,方法与编辑 drupal 主题相同。

    【讨论】:

    • 嗨,感谢您的回答。我有打印主题布局的 tpl 文件,这是我设置上述标记的地方。我只需要知道如何向 .content_wrapper div 添加一个类,该类是根据当前位于 $content['content-row1'] (面板窗格)中的节点类型动态设置的。
    • 使用Devel 模块调试这个变量并检查它是否以及如何获取$node 变量。在这个 tpl.php 文件中添加一个 dpm($content['content-row1']); 以找出答案。
    • 感谢您的帮助,我能够通过帮助开发模块获得所需的内容。
    猜你喜欢
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多