[Решено] описание функций в page.tpl.php

Главные вкладки

Аватар пользователя WhatTheFuck WhatTheFuck 27 сентября 2011 в 0:39

Всем привет. Сейчас разбираю структуру тем-шаблонов на друпал. И появился небольшой вопрос.

Есть строка в page.tpl.php:
<div class="region<?php if (!$logo) { print ' wide'; } ?>">
Как я понял если нету лого то выводить этот "wide". Что означает "wide" в строке? Подскажите кто знает.

И еще, <?php if ($intro || $intro_image || $intro_description) : ?>
Символ двоеточия в конце что означает? Думаю что это эквивалент "то". Вроде, если есть интро или интро_имэйдж или интро_дескрипшен то выводим div или id и сам регион?

Не пинайте сильно, в гугле чето не нашел ответа.

Комментарии

Аватар пользователя aRpi aRpi 27 сентября 2011 в 7:42

У тебя это просто текст ' wide'
если лого нет результат будет таким:

Символ двоеточия означает что если условие истинно будет выполнен код вплоть до endif;

Аватар пользователя WhatTheFuck WhatTheFuck 27 сентября 2011 в 10:47

"aRpi" wrote:

Только в самом шаблоне нету такого региона. Попробовал удалить лого, на его месте отображается просто название сайта текстом. Текста "Wide" нету. Но в любом случае это вроде не переменная, так?

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 27 сентября 2011 в 12:32

А это и не должен быть текст. Это класс. Красным по серому ведь написано: class="... wide". Подозреваю, что если нет лого, блок, который должен лого содержать, становится широким...

Вам надо начать с того, чтобы познакомиться с css, узнать о том, что такое классы и т.п. Тогда таких вопросов у вас не будет возникать в принципе. Да и без таких базовых знаний я бы не рекомендовал вам вообще заниматься разбором тем оформления.

Аватар пользователя WhatTheFuck WhatTheFuck 27 сентября 2011 в 14:38

Все, разобрался. Файербаг показал что, если в регионе расположен какой нибудь блок то он обернут в класс region. Если нету лого, то содержимое региона обернуто в класс region wide.

Аватар пользователя WhatTheFuck WhatTheFuck 27 сентября 2011 в 14:41

"<a href="mailto:ingumsky@drupal.org">ingumsky@drupal.org</a>" wrote:
Вам надо начать с того, чтобы познакомиться с css, узнать о том, что такое классы и т.п. Тогда таких вопросов у вас не будет возникать в принципе. Да и без таких базовых знаний я бы не рекомендовал вам вообще заниматься разбором тем оформления.

Ну базовые знания в css у меня есть, на практике более-менее получается, только вот терминологию плохо знаю. Да и бывает что не совсем понятно в учебниках написано, вот и спрашиваешь на форумах.

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 28 сентября 2011 в 18:36

"WhatTheFuck" wrote:
Ну базовые знания в css у меня есть, на практике более-менее получается, только вот терминологию плохо знаю.

Что более приближено к практике, как не class="thing"? Smile Один совет - читайте, читайте, читайте. Лишним не будет Smile

Аватар пользователя WhatTheFuck WhatTheFuck 28 сентября 2011 в 22:59

"<a href="mailto:ingumsky@drupal.org">ingumsky@drupal.org</a>" wrote:
Что более приближено к практике, как не class="thing"? Smile Один совет - читайте, читайте, читайте. Лишним не будет :)

Ну стараемся, в любом случае могу сказать что понемногу начинаю все больше понимать друпал:)

Кстати, появилась еще пара вопросов. Что означает это строка в page.tpl.php:

1.

    <div id="top" class="in<?php print (bool) $top_a + (bool) $top_b + (bool) $top_c + (bool) $top_d + (bool) $top_e; ?>">
   

$top_a, $top_b и т.д. это регионы в теме. В самой теме как я понял идет div id="top" и затем в зависимости от того есть ли блоки или нет в данных регионах class="in(какой то). Можете поподробней объяснить смысл этой строки?

2.

        
        <?php if ($breadcrumb) : ?>
            <div id="breadcrumb">
              <div class="space">
                <?php print $breadcrumb?>
              </div>
            </div>
        <?php endif; ?>
   

$breadcrumb — это навигационная линейка. Там есть условие, если $breadcrumb есть то выводим ее обернув в <div id="breadcrumb"> и <div class="space">.
У меня на сайте нету этой навигационной линейки, как ее вывести все таки?

3. <?php if ($mainmenu && $language->dir != 'rtl') : ?>

В данном случае я не совсем понимаю что делает эта строчка.

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 28 сентября 2011 в 23:26

"WhatTheFuck" wrote:
Что означает это строка в page.tpl.php:

Даже не знаю.

"WhatTheFuck" wrote:
У меня на сайте нету этой навигационной линейки, как ее вывести все таки?

Проверьте настройки темы в соответствующем меню. Как я помню, там должна быть галка для включения «хлебных крошек».

"WhatTheFuck" wrote:
В данном случае я не совсем понимаю что делает эта строчка.

Проверяет не пусто ли значение переменной $mainmenu (в вашей теме это, видимо, основное меню) и не является ли направление текста в языке обратным (справа налево). Если $mainmenu не пуста, а направление текста идёт слева направо, значит условие верно, следовательно будет выполняться то, что идёт после двоеточия и до <?php endif; ?>

Аватар пользователя WhatTheFuck WhatTheFuck 30 сентября 2011 в 16:39

"<a href="mailto:ingumsky@drupal.org">ingumsky@drupal.org</a>" wrote:
Проверяет не пусто ли значение переменной $mainmenu (в вашей теме это, видимо, основное меню) и не является ли направление текста в языке обратным (справа налево). Если $mainmenu не пуста, а направление текста идёт слева направо, значит условие верно, следовательно будет выполняться то, что идёт после двоеточия и до <?php endif; ?>

Типа арабской что ли? А как это вообще может быть?

Спасибо за разъяснения предыдущих комментариев.

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 30 сентября 2011 в 18:47

"WhatTheFuck" wrote:
Типа арабской что ли? А как это вообще может быть?

Да. Кто-то ведь и для языков, где письмо справа налево идёт, сайты создаёт Smile