Здравствуйте, помогите в следующем вопросе:
Создал тип материала новости, сделал к нему node-news.tpl.php, но при этом когда смотрю код - класс "main" и кдасс "node" расположенны в рядом стоящих div'ках, а должно быть чтобы node был в main. И какая то абракадабра получается(
Комментарии
что?
сейчас так:
<div id="node">...</div>
А должно быть:
<div id="node>...</div>
</div>
Со стандартным нод.тпл.пхп все как во втором случае
Код node-news.tpl.php выложи что ли.
да
Еще раз.
Выложи содержимое файла node-news.tpl.php.
<?php if ($teaser) :?>
<div class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<div style="float:left"><?php echo $node->field_imgnews[0]['view']; ?></div>
<h2 class="title">
<a href="<?php print $node_url ?>"><?php print $title; ?></a>
</h2>
<div class="content">
<?php echo $node->field_newsteaser[0]['view']; ?>
</div>
<div style="clear:both"> </div>
<div class="about">
<span class="submitted">
<?php
if ($submitted):
print t('Опубликовано ') .format_date($node->created, 'custom', "j/F/Y");
$pred = " in ";
else:
$pred = "Filed in ";
endif; ?> </span>
<span class="commentscount">Комментариев <?php print $comment_count ?></span>
<span class="readmore"><a href="<?php print $node_url ?>" >Подробнее</a></span>
</div>
<div style="clear:both"> </div>
<?php endif; ?>
</div>
<?php if ($page) :?>
<div class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<div class="submitted">
<?php
if ($submitted):
print t('Опубликовано ') .format_date($node->created, 'custom', "j/F/Y");
$pred = " in ";
else:
$pred = "Filed in ";
endif; ?> </div>
<div class="content">
<?php print $node->body ?>
</div>
</div>
<?php endif; ?>
В листинге для полного материала не вижу вывода заголовка. Он берется из родного node.tpl.php?
<div id="full">
видимо берется оттуда же?а как сделать чтобы он не брался из родного node.tpl.php?
<?php<какие_то_html_теги><a href="<?php print $node_url ?>"><?php print $title; ?></a></какие_то_html_теги>?>
Дай листинг node.tpl.php.
<?php if ($page == 0): ?>
<h3 class="title">
<a href="<?php print $node_url ?>"><?php print $title; ?></a>
</h3>
<?php endif; ?>
<?php if ($picture) print $picture; ?>
<div class="submitted">
<?php
if ($submitted):
print t('Опубликовано ') . theme('username', $node) .' on ' .format_date($node->created, 'custom', "F jS, Y") ;
$pred = " in ";
else:
$pred = "Filed in ";
endif;
if (count($taxonomy)):
print $pred.andreas02_print_terms($node);
endif; ?>
</div>
<div class="content">
<?php print $content; ?>
</div>
<?php if ($links): ?>
<div class="links">
<?php print $links; ?>
</div>
<?php endif; ?>
</div>
<div style="clear:both"> </div>
<div class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<h3 class="title"><a href="<?php print $node_url ?>"><?php print $title; ?></a></h3>
<div class="submitted">
<?php
if ($submitted):
print t('Опубликовано ') .format_date($node->created, 'custom', "j/F/Y");
$pred = " in ";
else:
$pred = "Filed in ";
endif; ?> </div>
<div class="content">
<?php print $content; ?>
</div>
</div>
<?php endif; ?>
Это вставь вместо своей части кода в node-news.tpl.php
заголовок при необходимости заверни в контейнер.
Ищи, откуда у тебя заголовки новостей выводятся в h2, ибо согласно твоим листингам ни в node.tpl.php ни в node-neww.tpl.php нет h2 без класса.
Благодарю вас msidiagnos01 за помощь!
заработало...
Вот конечный листинг node-news.tpl.php(может кому то пригодится)
<?php if ($teaser) :?>
<div class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<div style="float:left"><?php echo $node->field_imgnews[0]['view']; ?></div>
<h2 class="title">
<a href="<?php print $node_url ?>"><?php print $title; ?></a>
</h2>
<div class="content">
<?php echo $node->field_newsteaser[0]['view']; ?>
</div>
<div style="clear:both"> </div>
<div class="about">
<span class="submitted">
<?php
if ($submitted):
print t('Опубликовано ') .format_date($node->created, 'custom', "j/F/Y");
$pred = " in ";
else:
$pred = "Filed in ";
endif; ?> </span>
<span class="commentscount">Комментариев <?php print $comment_count ?></span>
<span class="readmore"><a href="<?php print $node_url ?>" >Подробнее</a></span>
</div>
</div>
<div style="clear:both"> </div>
<?php endif; ?>
<?php if ($page) :?>
<div class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<div class="submitted">
<?php
if ($submitted):
print t('Опубликовано ') .format_date($node->created, 'custom', "j/F/Y");
$pred = " in ";
else:
$pred = "Filed in ";
endif; ?> </div>
<div class="content">
<?php print $content; ?>
</div>
</div>
<?php endif; ?>
print t('Опубликовано ') - плохая идея. Лучше print t('Published') и перевести...
Почему плохая?
Потому что оригинальным языком является английский. И если мало-ли вы захотите сделать англоязычную версию, то там будет Опубликовано, а не Published. Если уж пользоваться функцией t() (что безусловно хорошо), то тогда надо привыкать делать это правильно.