Нормальный заголовок H1

Тема в разделе "Drupal", создана пользователем White_S, 16 авг 2015.

Информация :
Прежде чем создать новую тему внимательно ознакомьтесь с правилами раздела
Модераторы: DMS
  1. White_S

    White_S

    Регистр.:
    27 май 2009
    Сообщения:
    473
    Симпатии:
    95
    Друзья, скажу сразу что не слишком хорошо знаю drupal, cen проблемы в том что на сайте есть структура с категориями и конкретными позициями, заголовок на страницах выводится
    Код:
    <h1 id="page-title"><?php print $title ?></h1>
    на страницах категории он берется [​IMG]
    а на страницах конкретной позиции
    [​IMG]
    из поля артикул, да еще и прячется на странице через дисплей нон кодом в шаблоне данного типа страниц. Скажите, может быть есть способ победить это и каким-то образом вывести тут нормальный редактируемый заголовок? Может есть компонент такой или инструкция?
     
  2. VVS

    VVS Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    84
    Симпатии:
    11
    Не совсем ясна суть, что победить? Заголовок может переопределяться модулем в настройках типа ноды, гляньте там.
     
  3. White_S

    White_S

    Регистр.:
    27 май 2009
    Сообщения:
    473
    Симпатии:
    95
    в общем тогда я создал для нода новое поле field_h1 и для страницы типа node--flat.tpl.php сделал так:
    Код:
     <!--object head -->
          <?php if($field_h1): ?>
      <h1 style="font-size: 22px; color: #111; font-weight: bold;"><?php print render($content['field_h1']); ?></h1>
          <?php else: ?>
     
    
          <div id="objHead">
          <div class="flatTitle"><?php print render($content['field_flat_rooms']); ?></div>
          <div id="kva">&nbsp;квартира по адресу&nbsp;г.</div>
          <div id="flatCity"><?php print render($content['field_city']); ?></div>
          <div id="coma">,&nbsp;</div>
          <div id="flatAdr"><?php print render($content['field_address']); ?></div>
          <?php endif; ?>
          <!--/object head -->
    т.е. если поле field_h1 заполнено то в заголовок выводится оно, ели не заполнено то результат работы кода ниже, это понятно.
    Но у нас еще есть заголовок первого уровня который создается на уровне выше (page.tpl.php), там такой код сделал:
    Код:
    <?php if($field_h1): ?>
          <?php else: ?>
      <h1 id="page-title"><?php print $title ?></h1>
          <?php endif; ?> 
    т.е. когда есть поле заголовка типа ничего не выводить, а когда нет то принт тайтл, в принципе такой костыль работает, но вот только в админке показывает предупреждение то переменная field_h1 не определена для page.tpl.php.
     
  4. VVS

    VVS Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    84
    Симпатии:
    11
    Правильный notice говорит, вы откуда берёте значение поля? Его надо получать из $node.
     
  5. m@rks

    m@rks Создатель

    Заблокирован
    Регистр.:
    27 авг 2012
    Сообщения:
    21
    Симпатии:
    1
    Код:
    <?php if(isset($field_h1)): ?>
     
  6. AlexPop

    AlexPop Создатель

    Регистр.:
    30 апр 2016
    Сообщения:
    44
    Симпатии:
    29
    определи $field_h1, потом
    PHP:
    <?php if(isset($field_h1)): ?>
    <h1 id="page-title"><?php print $field_h1?></h1>
    <?php else: ?>
      <h1 id="page-title"><?php print $title?></h1>
    <?php endif; ?>
     
    ZoyaPolak нравится это.
  7. Suvan

    Suvan Писатель

    Регистр.:
    26 окт 2013
    Сообщения:
    4
    Симпатии:
    1
    Можно и так:
    <?php if(isset($node->field_h1) : ?>
    <h1 id="page-title"><?php print $node->field_h1[LANGUAGE_NONE]['value']; ?></h1>
    <?php else: ?>
    <h1 id="page-title"><?php print $title; ?></h1>
    <?php endif; ?>
     
    ZoyaPolak нравится это.
  8. f483796

    f483796 Постоялец

    Регистр.:
    24 фев 2015
    Сообщения:
    49
    Симпатии:
    2
    Я так понял это какой-то разраб закостылил заголовок в отдельное поле?
     
  9. AlexPop

    AlexPop Создатель

    Регистр.:
    30 апр 2016
    Сообщения:
    44
    Симпатии:
    29
    все от темы зависит