Как назначить класс в зависимости от того, используется ли регион Drupal?

В теме Drupal 7 как назначить имя класса для региона, если оно используется или нет? Мне нужно три условия для рассматриваемого региона для моей темы Drupal. Существует три области содержимого: sidebar_first, content и sidebar_second. Код для этого ниже:

                    <?php if ($page['sidebar_first']): ?>
                    <div id="sidebar-first" class="column sidebar">
                        <div class="section">
                            <?php print render($page['sidebar_first']); ?>

                            <div class="clear"></div>
                        </div>

                        <div class="clear"></div>
                    </div>
                    <?php endif; ?>

                    <div id="content" class="column">
                        <div class="section">
                            <?php if ($page['highlighted']): ?>
                            <div id="highlighted">
                                <?php print render($page['highlighted']); ?>
                            </div>
                            <?php endif; ?>

                            <a id="main-content"></a>

                            <?php print render($title_prefix); ?>

                            <?php if ($title): ?>
                            <h2 class="title" id="page-title">
                                <?php print $title; ?>
                            </h2>

                            <div class="title_sep">
                                <div class="title_sep_left"></div>
                                <div class="title_sep_right"></div>

                                <div class="clear"></div>
                            </div>
                            <?php endif; ?>

                            <?php print render($title_suffix); ?>

                            <?php if ($tabs): ?>
                            <div class="tabs">
                                <?php print render($tabs); ?>
                            </div>
                            <?php endif; ?>

                            <?php print render($page['help']); ?>

                            <?php if ($action_links): ?>
                            <ul class="action-links">
                                <?php print render($action_links); ?>
                            </ul>
                            <?php endif; ?>

                            <?php print render($page['content']); ?>

                            <?php print $feed_icons; ?>

                            <div class="clear"></div>
                        </div>

                        <div class="clear"></div>
                    </div>

                    <?php if ($page['sidebar_second']): ?>
                    <div id="sidebar-second" class="column sidebar">
                        <div class="section">
                            <?php print render($page['sidebar_second']); ?>

                            <div class="clear"></div>
                        </div>

                        <div class="clear"></div>
                    </div>
                    <?php endif; ?>

Если sidebar_first находится на странице, тогда присвойте имя класса 'twocol_left' <div id="content" class="column">, Если присутствует sidebar_second, тогда присвойте имя класса 'twocol_right' <div id="content" class="column">, Наконец, если присутствуют sidebar_first и sidebar_second, тогда присвойте 'threecol' <div id="content" class="column">,

Может ли кто-нибудь помочь мне с этим? Возможно, это будет просто, если добавить if/else для <div id="content" class="column"> внутри класса = "столбец"?

1 ответ

Я понял. Оказывается, в теге body указывается, есть ли одна или две боковые панели. Я могу использовать эти имена классов, чтобы затем соответствующим образом оформить область содержимого и другие элементы на странице.

Примером является:

<body class="html not-front logged-in two-sidebars page-user page-user- page-user-1 not-front logged-in ftrtop_columns ftrbttm_columns admin-menu" cz-shortcut-listen="true">

В этом примере перечислены две боковые панели. Если я удалю один из блоков боковой панели, чтобы одна из боковых панелей больше не использовалась на странице, в теге body будет показан класс "one-sidebar".

Другие вопросы по тегам