Вывод тайтла или h1 на главной (ссылкой) без показа их одновременно.

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

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 28 января 2010 в 19:00

Перепробовал всякие варианты и никак не сделать нормальный. Объясню что вообще хочу... Грубо говоря создал страницу со статьей публикую ее на главной, и так как тайтл и h1 обычно одинаковые выводится некрасиво. Тут нашел всякие варианты как там можно убрать но все не то.
Мне надо что бы на главной выводился h1 или тайтл ссылкой, а на странице оставалось только H1.

Максимум что я смог добиться это что на странице заголовок выглядит вот так:
<h2 class="with-tabs">Секреты настоящего стиля</h2>
Но это не то в плане оптимизации.
Просидел весь день мучаясь над этим глаза уже в кучу помогите люди добрые Smile

Комментарии

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 28 января 2010 в 19:11

Вот нашел как на этом блоге http://arn.ro

Я новичек еще в этом что там где делать так поверхностно в ПхП не шарю. Если есть возможность поподробней расписать как и что сделать.....

Заранее спасибо.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 28 января 2010 в 19:30

"<a href="mailto:TeraBass@drupal.org">TeraBass@drupal.org</a>" wrote:
Я новичек еще

Знаете, тут исторически сложилось, что слово "Новичок" имеет несколько другое определение, а именно:
Новичок - человек, может быть даже разумный, вероисповедание достаточно странное, в частности, ему категорически запрещено пользоваться поиском и прилагать усилия для решения задачи. Ждёт когда ему подадут готовый ответ. Так же, может думать, что его проблема никогда не решалась до этого, даже если рядом есть топик с подобной ему проблемой, будет упорно привлекать внимание и требовать, чтобы сообщество решило все проблемы за него. На попытки опытных форумчан обратить в другую веру, как правило, проявляет агрессию, ссылается на недостаток времени или ещё чего-то

Задумайтесь, пожалуйста.

Аватар пользователя oboroten oboroten 28 января 2010 в 19:40

гм.. вообще-то в дефолтной node.tpl.php есть всё что вам нужно


<?php if (!$page): ?>
  <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>

а для самой главной либо page-front.tpl.php где убираете < h1 > с тайтлом, либо в page.tpl.php конструкцию типа


<?php if (drupal_is_front_page()) {}else{?><h1 class="title"><?php print $title ?></h1><?php };?>

P.S. Поиск очень помогает

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 28 января 2010 в 19:46

Да я поиском пользовался написал же сижу с утра уже. Просто что то я неправильно делаю . Выше все команды я находил с ними и мудрил. И нечего нормального у меня не выходит. Может это из-за того что тема моя через артистир сделана. В пхп я не понимаю поэтому разобраться не могу.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 28 января 2010 в 19:50

Хотели бы вы попасть на операцию к слепому хирургу, при условии, что он не знает, что у вас болит и чем вы лечились?
Если вы пробовали что-то делать, то это надо упомянуть и выложить код, хотя бы те куски, которые не работают

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 28 января 2010 в 20:13

Да все работает вроде но только не так как я хотел бы. http://worldmode.ru/ вот блог.

Вот код

<?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">
<?php if ($page == 0): ?>

<?php if (($is_front)|($page == true)): ?><h1 class="node-title"><?php print $title ?></h1>
<?php endif; ?>

<?php if ((!$is_front)&($page == 0)): ?>
  <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>

<h2 class="art-PostHeader"><img src="<?php echo get_full_path_to_theme(); ?>/images/PostHeaderIcon.png" width="30" height="31" alt=""/> <a href="<?php echo $node_url?>" title="<?php echo $title?>"><?php echo $title?></a>
</h2>

<?php endif; ?>
<?php 
if ($submitted): ?>
<div class="art-PostHeaderIcons art-metadata-icons">
<?php echo art_submitted_worker($date$name); ?>

С этими по середине я по всякому побывал и по отдельности и то с тем и с другим. А итог того что я хочу как у уникального человека на блоге никак не получить Sad

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 28 января 2010 в 20:44

Подсказаньки пожалуйста дайте. Или может просто даст кто готовый файлик пхп??? Или просто тут полный код выложить кто нибудь может????

Аватар пользователя chewie chewie 28 января 2010 в 20:45

не пойму а почему столько много пользователей, у которых логины заканчиваются на drupal.org
начал думать, что это за особые заслуги перед друпал сообществом почтовый ящик дают в этом домене.
А оказывается это просто понты мода?

Аватар пользователя Dan Dan 28 января 2010 в 22:56

"<a href="mailto:TeraBass@drupal.org">TeraBass@drupal.org</a>" wrote:

if (($is_front)|($page == true))
if ((!$is_front)&($page == 0))

1. Логические операции это ||,&&,or,and, а не |,&.
2. $is_front - Вы уверены, что эта переменная есть в этом шаблоне? А даже если бы и была, зачем лишние проверки?

"webnet" wrote:
не пойму а почему столько много пользователей, у которых логины заканчиваются на drupal.org

У них одна учётка на два сайта.

Аватар пользователя direqtor direqtor 29 января 2010 в 11:39

"Dan" wrote:
1. Логические операции это ||,&&,or,and, а не |,&.

И то и другое логические операции. Отличие двойных знаков от одинарных всего лишь в прекращении вычисления выражения в том месте, где оно однозначно определено. Иногда это сокращает исполняемый код.

Например, func1() & func2() & func3() при любых значениях, возвращаемых функциями они будут вызваны все.

А вот в func1() && func2() && func3(), если func1() вернёт false, то func2() и func3() вызываться не будут, поскольку значение выражения один фиг false.

Аватар пользователя Dan Dan 29 января 2010 в 15:40

"direqtor" wrote:
Например, func1() & func2() & func3() при любых значениях, возвращаемых функциями они будут вызваны все.

Причём здесь вызов функии и работа с переменными? Для битовой операции важны все значения, поэтому функции будут вызваны все. Для логической все необязательны. Кстати уже на основе этого можно заключить, что эти операторы работают по разному.
И да, результат битовых может совпасть с логическими, но не факт что совпадёт.

А вообще, учим матчасть:
- логические операторы
- битовые операторы

Аватар пользователя direqtor direqtor 29 января 2010 в 19:57

Я о логических значениях функций. Битовые операции применяются достаточно редко.

Хотя черт с ними. Тут вроде совсем о другом. Smile

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 29 января 2010 в 16:58

Я ничего не понял из ваших ругательств =)))
Я в принципе все сделал что хотел только единственное при выводе анонса на главной у меня и title и h1 показывается. Подскажите как убрать - запретить вывод h1???

<?php if ($page == 0): ?>
<h2 class="art-PostHeader"><img src="<?php echo get_full_path_to_theme(); ?>/images/PostHeaderIcon.png" width="22" height="22" alt=""/> <a href="<?php echo $node_url?>" title="<?php echo $title?>"><?php echo $title?></a>
</h2>
<?php endif; ?>

что там дописать надо или заменить??? Или есть возможность просто убрать вывод тайтла везде и сделать что бы в публикации на главной h1 был ссылкой???

Аватар пользователя Dan Dan 29 января 2010 в 17:45

Как это?
На главной:

<h1 class="art-PostHeader"><img width="22" height="22" alt="" src="/sites/all/themes/vera1/images/PostHeaderIcon.png"> <a title="Тестирую страницу" href="/node/5">Тестирую страницу</a>
</h1>

На полной:

<h1>Тестирую страницу</h1>

И там и там - h1.

Аватар пользователя Dan Dan 29 января 2010 в 17:57

Дык в чём вопрос?
У нас разговор про автоматическое формирование заголовков,а Вы их руками ставите.

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 29 января 2010 в 18:26

Вопрос в том как сделать что бы на главной в публикации был лишь только заголовок. Так как у меня h1 и title одинаковы, и это смотрится некрасиво когда повторяется. Мне нужно примерно вот как тут http://arn.ro

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 29 января 2010 в 20:10

Так я меняю даже тему h1 то все равно показывается. Я уже 2 раза показал как примерно надо И показал как у меня получается. Ссылки выше. И все по стандарту я уже все варианты попробовал.
Неужели до сих пор непонятно что я хочу??? Я честно признаться уже даже не знаю как объяснить.

Вот весь код ткните меня носом пожалуйста где там что не так.

<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">
<?php if ($page == 0): ?>
<h2 class="art-PostHeader"><img src="<?php echo get_full_path_to_theme(); ?>/images/PostHeaderIcon.png" width="22" height="22" alt=""/> <a href="<?php echo $node_url; ?>" title="<?php echo $title; ?>"><?php echo $title; ?></a>
</h2>
<?php endif; ?>
<?php if ($submitted): ?>
<div class="art-PostHeaderIcons art-metadata-icons">
<?php echo art_submitted_worker($date, $name); ?>

</div>
<?php endif; ?>
<div class="art-PostContent">
<div class="art-article"><?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>
</div>
<div class="cleared"></div>
<?php ob_start(); ?>
<?php if (is_art_links_set($node->links) || !empty($terms)): ?>
<div class="art-PostFooterIcons art-metadata-icons">
<?php echo art_node_worker($node); ?>

</div>
<?php endif; ?>
<?php $metadataContent = ob_get_clean(); ?>
<?php if (trim($metadataContent) != ''): ?>
<div class="art-PostMetadataFooter">
<?php echo $metadataContent; ?>

</div>
<?php endif; ?>

</div>

    </div>
</div>

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 29 января 2010 в 21:00
<!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">if (Drupal.jsEnabled) {$(document).ready(function(){
                                window.setTimeout("artNoStyleAdding(document)", 2000);});}</script>
  <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyle Content in IE */ ?> </script>
</head>

<body>
<div id="art-page-background-glare">
    <div id="art-page-background-glare-image"></div>
</div>
<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="banner-1">'.$banner1.'</div>'; } ?>
<?php echo art_placeholders_output($top1, $top2, $top3); ?>
<div class="art-contentLayout">
<?php if (!empty($left)) echo '<div class="art-sidebar1">' . $left . "</div>";
else if (!empty($sidebar_left)) echo '<div class="art-sidebar1">' . $sidebar_left. "</div>";?>
<div class="<?php $l = null;
if (!empty($left)) $l = $left;
else if (!empty($sidebar_left)) $l=$sidebar_left;
$r = null;
if (!empty($right)) $r = $right;
else if (!empty($sidebar_right)) $r=$sidebar_right;          
echo art_get_content_cell_style($l, $r, $content); ?>">
<?php if (!empty($banner2)) { echo '<div id="banner-2">'.$banner2.'</div>'; } ?>
<?php if ((!empty($user1)) && (!empty($user2))) : ?>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td width="50%"><?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="banner-3">'.$banner3.'</div>'; } ?>
<?php if (($is_front) or ($node->nid) ): ?>              
<?php if (!empty($breadcrumb) || !empty($title) || !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">
<?php if (!empty($breadcrumb)) { echo $breadcrumb; } ?>

<?php if (!empty($tabs)) { echo $tabs.'<div class="cleared"></div>'; }; ?>
<?php if (!empty($tabs2)) { echo $tabs2.'<div class="cleared"></div>'; } ?>

</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 echo art_content_replace($content); ?>
<?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">
<?php if (!empty($breadcrumb)) { echo $breadcrumb; } ?>

<?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); ?>

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

</div>

    </div>
</div>
<?php endif; ?>
<?php if (!empty($banner4)) { echo '<div id="banner-4">'.$banner4.'</div>'; } ?>
<?php if (!empty($user3) && !empty($user4)) : ?>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td width="50%"><?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="banner-5">'.$banner5.'</div>'; } ?>
</div>
<?php if (!empty($right)) echo '<div class="art-sidebar2">' . $right . "</div>";
else if (!empty($sidebar_right)) echo '<div class="art-sidebar2">' . $sidebar_right . "</div>";?>

</div>
<div class="cleared"></div>
<?php echo art_placeholders_output($bottom1, $bottom2, $bottom3); ?>
<?php if (!empty($banner6)) { echo '<div id="banner-6">'.$banner6.'</div>'; } ?>
<div class="art-Footer">
    <div class="art-Footer-inner">
        <?php echo art_feed_icon(url('rss.xml')); ?>
        <div class="art-Footer-text">
        <?php
            if (!empty($footer_message) && (trim($footer_message) != '')) {
                echo $footer_message;
            }
            else {
                echo '<p><a href="#">Contact Us</a>&nbsp;|&nbsp;<a href="#">Terms of Use</a>&nbsp;|&nbsp;<a href="#">Trademarks</a>&nbsp;|&nbsp;<a href="#">Privacy Statement</a><br />'.
                     'Copyright &copy; 2009&nbsp;'.$site_name.'.&nbsp;All Rights Reserved.</p>';
            }
        ?>
        <?php if (!empty($copyright)) { echo $copyright; } ?>
        </div>        
    </div>
    <div class="art-Footer-background"></div>
</div>

    </div>
</div>
<div class="cleared"></div>
<p class="art-page-footer"><?php echo t('Powered by ').'<a href="http://drupal.org/">'.t('Drupal').'</a>'.t(' and ').'<a href="http://www.artisteer.com/?p=drupal_themes">Drupal Theme</a>'.t(' created with ').'Artisteer'; ?>.</p>
</div>

<?php print $closure; ?>

</body>
</html>

Аватар пользователя Dan Dan 29 января 2010 в 21:14

Я таки тюплю по страшному и не пойму что надо (или понимаю что надо, но не понимаю как это вяжеться с оптимизацией).
Давайте напишем ТЗ Smile

Есть главная. На ней есть ссылки на материалы, которые должны быть обёрнуты в h2, а в теге h1 - название сайта. Правильно?

Сами материалы. При отображении анонсом (тизером), должны отображать заголовок в h2, при полном просмотре - h1.

Так?

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 29 января 2010 в 21:35

"Dan" wrote:
Сами материалы. При отображении анонсом (тизером), должны отображать заголовок в h2, при полном просмотре - h1.

вроде то что надо.

У меня все в принципе сделано единственное у меня при отображение на главной тизера показывается H1 а мне надо что бы он не показывался. Ну я как понял почти уверен то что вы описали это то что надо.

Аватар пользователя Dan Dan 29 января 2010 в 22:32

Поврояюсь - это стандартное проставление заголовков с темах друпала.
То есть в page.tpl.php вставляем между крошками и табами:

<?php if (!empty($breadcrumb)) { echo $breadcrumb; } ?>
<h1 class="title"><?php print $title ?></h1>
<?php if (!empty($tabs)) { echo $tabs.'<div class="cleared"></div>'; }; ?>

В node.tpl.php ничего не меняем.

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 29 января 2010 в 22:52

Ура Огромное СПАСИБО 2 дня этого добивался глаза в кучу. Фух славу богу....
правда теперь на страницах под админом дублируются кнопки просмотр ----- изменить Smile

Аватар пользователя Dan Dan 30 января 2010 в 9:01

Вы что,добавили все три строчки что я привёл? Добавить надо одну! Я же написал между крошками и табами и зная что Вы скорее всего меня не поймёте, написал их так же.

Аватар пользователя TeraBass@drupal.org TeraBass@drupal.org 30 января 2010 в 19:30

Ой я тупанул просто голова уже не соображала на автопилоте делал.я думал заменил просто а оказалось нижнию не заменил.
Все спасибо большое за помощь.