[Решено]Заголовок ноды

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

Аватар пользователя drokus02 drokus02 28 октября 2010 в 14:20

Тема сделана в Artisteer. Заголовки ноды выводятся в тегах h2.На главной в тизерах заглолвки нод выводятся также в h2.
Если изменить в теме в файле node.tpl.php h2 на h1 ,то и на главной во всех страницах заголовки становтся h1.
Можно ли сделать так,чтобы у отдельных страниц заголоки были h1 ,а в тизерах на главнй - h2?
Спасибо.

Комментарии

Аватар пользователя Full_acсess Full_acсess 28 октября 2010 в 14:52

можно, используя шаблон node-front.tpl.php, либо с помощью переменной $is_front тобишь

<?php
if ($is_front){
  print 
"<h2>".$title."</h2>";
}else{
  print 
"<h1>".$title."</h1>";
}
?>
Аватар пользователя drokus02 drokus02 28 октября 2010 в 15:51

Full_acсess ,спасибо,а можно уточнить, перемеменную $is_front надо просто дописать в page.tpl.php или что-то изменить?У меня там есть такая строка

<?php if (($is_front) || (isset($node) && isset($node->nid))): ?>

Аватар пользователя drokus02 drokus02 28 октября 2010 в 18:29

MaNaX ,спасибо,но куда вставлять этот код?Если просто вставляю,то никакой реакции,если вместо вышеуказанной сроки,то показывает белую страницу.

Аватар пользователя MaNaX MaNaX 29 октября 2010 в 13:52

drokus02 wrote:
MaNaX ,спасибо,но куда вставлять этот код?Если просто вставляю,то никакой реакции,если вместо вышеуказанной сроки,то показывает белую страницу.

туда, откуда вы выдрали
<?php if (($is_front) || (isset($node) && isset($node->nid))): ?>

тока в моем artisteer это выглядит немного по другому
<?php if (!empty($title)): print '

'. $title .'

'; endif; ?>

и в соответствии
<?php if (!empty($title)){
if ($is_front){
print "

'.$title.'

';
}else{
print "'.$title.'';
}
}; endif; ?>

в page.tpl.php??????

Аватар пользователя Full_acсess Full_acсess 29 октября 2010 в 5:37

"drokus02" wrote:
спасибо,но куда вставлять этот код?
ну тут на сайте тоже экстрасенсов нет, весь код node.tpl.php предоставьте пожалуйсто

Аватар пользователя drokus02 drokus02 29 октября 2010 в 19:53

Код page.tpl.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php echo get_page_language($language); ?>" xml:lang="<?php echo get_page_language($language); ?>">

<head>
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />  
  <?php echo $head; ?>
  <title><?php if (isset($head_title )) { echo $head_title; } ?></title>  
  <?php echo $styles ?>
  <?php echo $scripts ?>
  <!--[if IE 6]><link rel="stylesheet" href="<?php echo $base_path . $directory; ?>/style.ie6.css" type="text/css" /><![endif]-->  
  <!--[if IE 7]><link rel="stylesheet" href="<?php echo $base_path . $directory; ?>/style.ie7.css" type="text/css" media="screen" /><![endif]-->
  <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyle Content in IE */ ?> </script>
</head>

<body>
<div id="art-main">
<div class="art-sheet">
    <div class="art-sheet-tl"></div>
    <div class="art-sheet-tr"></div>
    <div class="art-sheet-bl"></div>
    <div class="art-sheet-br"></div>
    <div class="art-sheet-tc"></div>
    <div class="art-sheet-bc"></div>
    <div class="art-sheet-cl"></div>
    <div class="art-sheet-cr"></div>
    <div class="art-sheet-cc"></div>
    <div class="art-sheet-body">
<div class="art-header">
    <div class="art-header-png"></div>
    <div class="art-header-jpeg"></div>

</div>
<?php if (!empty($navigation)): ?>
<div class="art-nav">
    <div class="l"></div>
    <div class="r"></div>
    <?php echo $navigation; ?>
</div>
<?php endif;?>
<?php if (!empty($banner1)) { echo '<div id="banner1">'.$banner1.'</div>'; } ?>
<?php echo art_placeholders_output($top1, $top2, $top3); ?>
<div class="art-content-layout">
    <div class="art-content-layout-row">
<?php $l = get_left_sidebar($left, $sidebar_left);
if (!empty($l) || !empty($vnavigation_left)) echo '<div class="art-layout-cell art-sidebar1">' . $vnavigation_left . $l . "</div>"; ?>
<div class="art-layout-cell <?php $l = get_left_sidebar($left, $sidebar_left); echo (!empty($l) ? 'art-content' : 's-wide'); ?>">
<?php if (!empty($banner2)) { echo '<div id="banner2">'.$banner2.'</div>'; } ?>
<?php if ((!empty($user1)) && (!empty($user2))) : ?>
<table class="position" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td class="half-width"><?php echo $user1; ?></td>
<td><?php echo $user2; ?></td></tr>
</table>
<?php else: ?>
<?php if (!empty($user1)) { echo '<div id="user1">'.$user1.'</div>'; }?>
<?php if (!empty($user2)) { echo '<div id="user2">'.$user2.'</div>'; }?>
<?php endif; ?>
<?php if (!empty($banner3)) { echo '<div id="banner3">'.$banner3.'</div>'; } ?>
<?php if (!empty($breadcrumb)) { echo $breadcrumb; } ?>
<?php if (($is_front) || (isset($node) && isset($node->nid))): ?>              
<?php if (!empty($tabs) || !empty($tabs2)): ?>
<div class="art-post">
    <div class="art-post-tl"></div>
    <div class="art-post-tr"></div>
    <div class="art-post-bl"></div>
    <div class="art-post-br"></div>
    <div class="art-post-tc"></div>
    <div class="art-post-bc"></div>
    <div class="art-post-cl"></div>
    <div class="art-post-cr"></div>
    <div class="art-post-cc"></div>
    <div class="art-post-body">
<div class="art-post-inner">
<div class="art-postcontent">
    <!-- article-content -->
<?php if (!empty($tabs)) { echo $tabs.'<div class="cleared"></div>'; }; ?>
<?php if (!empty($tabs2)) { echo $tabs2.'<div class="cleared"></div>'; } ?>

    <!-- /article-content -->
</div>
<div class="cleared"></div>

</div>

    </div>
</div>
<?php endif; ?>
<?php if (!empty($mission)) { echo '<div id="mission">'.$mission.'</div>'; }; ?>
<?php if (!empty($help)) { echo $help; } ?>
<?php if (!empty($messages)) { echo $messages; } ?>
<?php $art_post_position = strpos($content, "art-post"); ?>
<?php if ($art_post_position === FALSE): ?>
<div class="art-post">
    <div class="art-post-tl"></div>
    <div class="art-post-tr"></div>
    <div class="art-post-bl"></div>
    <div class="art-post-br"></div>
    <div class="art-post-tc"></div>
    <div class="art-post-bc"></div>
    <div class="art-post-cl"></div>
    <div class="art-post-cr"></div>
    <div class="art-post-cc"></div>
    <div class="art-post-body">
<div class="art-post-inner">
<div class="art-postcontent">
    <!-- article-content -->
<?php endif; ?>
<?php echo art_content_replace($content); ?>
<?php if ($art_post_position === FALSE): ?>

    <!-- /article-content -->
</div>
<div class="cleared"></div>

</div>

    </div>
</div>
<?php endif; ?>
<?php else: ?>
<div class="art-post">
    <div class="art-post-tl"></div>
    <div class="art-post-tr"></div>
    <div class="art-post-bl"></div>
    <div class="art-post-br"></div>
    <div class="art-post-tc"></div>
    <div class="art-post-bc"></div>
    <div class="art-post-cl"></div>
    <div class="art-post-cr"></div>
    <div class="art-post-cc"></div>
    <div class="art-post-body">
<div class="art-post-inner">
<div class="art-postcontent">
    <!-- article-content -->
<?php if (!empty($title)): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
<?php if (!empty($tabs)) { echo $tabs.'<div class="cleared"></div>'; }; ?>
<?php if (!empty($tabs2)) { echo $tabs2.'<div class="cleared"></div>'; } ?>
<?php if (!empty($mission)) { echo '<div id="mission">'.$mission.'</div>'; }; ?>
<?php if (!empty($help)) { echo $help; } ?>
<?php if (!empty($messages)) { echo $messages; } ?>
<?php echo art_content_replace($content); ?>

    <!-- /article-content -->
</div>
<div class="cleared"></div>

</div>

    </div>
</div>
<?php endif; ?>
<?php if (!empty($banner4)) { echo '<div id="banner4">'.$banner4.'</div>'; } ?>
<?php if (!empty($user3) && !empty($user4)) : ?>
<table class="position" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td class="half-width"><?php echo $user3; ?></td>
<td><?php echo $user4; ?></td></tr>
</table>
<?php else: ?>
<?php if (!empty($user3)) { echo '<div id="user1">'.$user3.'</div>'; }?>
<?php if (!empty($user4)) { echo '<div id="user2">'.$user4.'</div>'; }?>
<?php endif; ?>
<?php if (!empty($banner5)) { echo '<div id="banner5">'.$banner5.'</div>'; } ?>
</div>

    </div>
</div>
<div class="cleared"></div>
<?php echo art_placeholders_output($bottom1, $bottom2, $bottom3); ?>
<?php if (!empty($banner6)) { echo '<div id="banner6">'.$banner6.'</div>'; } ?>
<div class="art-footer">
    <div class="art-footer-inner">
        <?php echo $feed_icons; ?>
        <div class="art-footer-text">
        <?php
            if (!empty($footer_message) && (trim($footer_message) != '')) {
                echo $footer_message;
            }
            else {
                echo '<p><a href="mailto:admin@graphics-video.ru?subject=" title="admin@graphics-video.ru">admin@graphics-video.ru<br /><a href="mailto:webmaster@graphics-video.ru?subject=" title="webmaster@graphics-video.ru">webmaster@graphics-video.ru</p>';
            }
        ?>
        <?php if (!empty($copyright)) { echo $copyright; } ?>
        </div>
    </div>
    <div class="art-footer-background"></div>
</div>

    </div>
</div>
<div class="cleared"></div>

</div>

<?php print $closure; ?>

</body>
</html>

Кстати,у меня есть последний Артистер 2.5.0.31067 ру,который умеет сохранять файлы.Если кого интересует,буду рад помочь.

Аватар пользователя drokus02 drokus02 30 октября 2010 в 8:56

Извиняюсь за тупость,но я не то чтобы сказал,я просто предположил ,а тут написали про page.tpl.php ,я и подумал,что надо его.

Вот node.tpl.php:

<div class="art-post">
    <div class="art-post-tl"></div>
    <div class="art-post-tr"></div>
    <div class="art-post-bl"></div>
    <div class="art-post-br"></div>
    <div class="art-post-tc"></div>
    <div class="art-post-bc"></div>
    <div class="art-post-cl"></div>
    <div class="art-post-cr"></div>
    <div class="art-post-cc"></div>
    <div class="art-post-body">
<div class="art-post-inner">
<h2 class="art-postheader"> <?php echo art_node_title_output($title, $node_url, $page); ?>
</h2>
<?php if ($submitted): ?>
<div class="art-postheadericons art-metadata-icons">
<?php echo art_submitted_worker($date, $name); ?>

</div>
<?php endif; ?>
<div class="art-postcontent">
    <!-- article-content -->
<div class="art-article"><?php print $picture; ?><?php echo $content; ?>
<?php if (isset($node->links['node_read_more'])) { echo '<div class="read_more">'.get_html_link_output($node->links['node_read_more']).'</div>'; }?></div>
    <!-- /article-content -->
</div>
<div class="cleared"></div>
<?php if (is_art_links_set($node->links) || !empty($terms)):
$output = art_node_worker($node);
if (!empty($output)):   ?>
<div class="art-postfootericons art-metadata-icons">
<?php echo $output; ?>

</div>
<?php endif; endif; ?>

</div>

    </div>
</div>

Аватар пользователя MaNaX MaNaX 30 октября 2010 в 21:48

«h2 class="art-postheader"» <?php echo art_node_title_output($title, $node_url, $page); ?>
«/h2»
замени на
<?php
$tt34 = art_node_title_output($title, $node_url, $page);
if ($is_front) {
print "

".$tt34."

";
}
if ( isset($node) && isset($node->nid)){
print "".$tt34."";
}
?>

хотя здесь я не уверен будет ли существовать переменная $is_front.
по поводу проги - если с ключиком - то закинь кудыть нибудь - скачаю с удовольствием

Аватар пользователя MaNaX MaNaX 31 октября 2010 в 10:00

наконец с бухгалтерского компа вернулся на свой и посмотрел в проге. Короче
«h2 class="art-postheader"» <?php echo art_node_title_output($title, $node_url, $page); ?>
«/h2»
замени на

<?php
if ($is_front){?>
<h1 class="art-PostHeader"> 
<?php } else {?>
<h2 class="art-PostHeader"> 
<?php }

 echo 

art_node_title_output($title$node_url$page); 

if (

$is_front){?>
</h1> 
<?php } else {?>
</h2> 
<?php }?>

у мни работает....

а прогу я так и не понял куда Ты бросил??

Аватар пользователя drokus02 drokus02 31 октября 2010 в 11:58

MaNaX спасибо!
Работает !!!!!
Только наоборот )))
На главной в тизерах h1,а на остальных h2 ))).
Я изменил в твоём коде h1 на h2,а h2 на h1 и стало нормально )))Т.е после is_front поставил h2 А после else h1.
Если есть время,зайди на мой сайтик и посмотри ,пожалуйста.

Блин,сцылу на прогу бросил в личку.Сейчас посмотрел,у меня нет этого письма в Отправленных.Странно.
но не суть.Прога без ключа,кейгенератор сделать так и не удалось,пошли,как дедушка Ленин,другим путём.Работает методом изменения ID тома С (именно С) и лечения регфайлом.Всё в архиве.У меня,естественно,стоит на виртуалке.Если винда обновляется,то надо снова запустить регфайл.
Скачать: http://depositfiles.com/ru/files/jtvapnj12 или,если с depositfiles не скачать,то кину на народ.

Да, и ещё вопросик.Можно ли сделать,чтоб на других страницах со списками(которые сделаны модулем views) в тизерах заголовок был h2? Переменная $is_front - это главная,а эти страницы какая?

Аватар пользователя drokus02 drokus02 31 октября 2010 в 12:05

Интересно ,почему такая фигня с заголовками.Я ща делаю себе рекламную страничку по видеосъёмке в сПб,пробовал взять готовую тему,и там такая ерунда,на самих страницах заголовок в h2.
Хотя везде написано,что друпал по умолчанию делает заголовки нод h1,а тизеров в h2.

Аватар пользователя MaNaX MaNaX 31 октября 2010 в 13:10

да кста сайт ничего - нашел много вкусностей по фотошопу)))), зарегился

тока зря шаблон заточен под 12хх, на 1024 плохо(((

Аватар пользователя drokus02 drokus02 31 октября 2010 в 13:40

Почитаю,оч интересно.
Насчёт ФШ,я очень неплохой специалист.Также по Максу неплохо.Начал работать с графикой,когда ещё софта Adobe и Autodeck для писюков не было,только для Мака и Амиги.
Могу помочь(с удовольствием)по любому вопросу.Большинство статей и уроков на сайте про ФШ — мои.Про анимацию — все.
А основной род деятельности - видеооператор и монтажёр.СТС-Питер.
Так что пиши.

А с Артистером как дела?Отпишись.

Насчёт шаблона да,проблема.Думаешь,сделать всё-таки на на 1024?

Аватар пользователя MaNaX MaNaX 31 октября 2010 в 14:30

идеально - когда шаблон растягиваемый, но Артистер так не умее, те нужно руками допиливать. Я собираюсь (это тока через год после ознакомления с друпалом)), наконеццто разобраться как создавать шаблоны для друпала,
но дело не в этом - проблема в том что Артистер создает очень большое количество ненужных классов стилей и чтобы чтото изменить в представленни очень долго нушно просеивать классы.
http://www.drupal.ru/node/17343
у меня 1024 потому все мои сайты заточены под данный формат)))))

PS если смогу сделать распилку на 2 одинаковые темы но в разных разрешениях, те брал шаблон в соответствии с разрешением экрана - отпишусь... или чтоб при загрузке друпал определял разрешение браузера и менял соответствующие параметры при помощи jquery

Аватар пользователя Legat Legat 17 апреля 2011 в 6:09

Спасибо большое, все работает. Правда есть одно но, тег H2 отображается только на главной странице, на всех остальных H1, то есть на страницах терминов таксономии и т. д. Скажите пожалуйста, что нужно дописать к этому коду

<?php
if ($is_front){?>
<h1 class="art-PostHeader"> 
<?php } else {?>
<h2 class="art-PostHeader"> 
<?php }
 echo 
art_node_title_output($title$node_url$page); 
if (
$is_front){?>
</h1> 
<?php } else {?>
</h2> 
<?php }?>

, чтобы тег H1 остался только непосредственно в самих материалах. Все это применительно к Drupal 7. Заранее спасибо.

Аватар пользователя Xermit Xermit 20 апреля 2011 в 22:23

Для меня странно другое почему вы используете is_front, а не
прочтите http://www.drupal.ru/node/53461,
так как вывод в виде тизера может быть не только на главной, а is_front, обозначает из название что отображаемая страница главная.
Думается правильно так
<?php
if (arg(0) != 'node')
?>
но только если в настройках здесь admin/settings/site-information
в поле главная страница по умолчанию тоже node используется