Есть ubercart на пятом друпале.
Через управление классами создан новый тип товара(мебель), которому, как и полагается, присвоился урл taxonomy/term/blabla
Создаю материал только что созданного типа, допустим табуретка. Он, молодец, появляется на странице taxonomy/term/blabla, и дополнительно создается персональная страница товара node/34.
С темизацией странички taxonomy/term/blabla я с помощью модуля vews справился. А вот страничка node/34 отображается в дефолтном представлении, что меня не устраивает.
Осложняется дело тем, что я создал еще и несколько страниц, имеющих адреса, допустим, node/5, node/33 и node/35. То есть, темизировать все ноды разом (я вроде примерно понял как это сделать)я не могу, т.к. они у меня разных типов: есть страницы, а есть товары.
Соответственно, вопрос: как мне темизировать (настроить отображение устраивающим меня образом) страницы конечного товара?
Комментарии
Инструкция:
1) Создать текстовый файл и переименовать его в node-Ваш тип ноды.tpl.php
2) Вставить код (без тегов php):
<?php <div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
<div class="content">
<div class="product-top" style="width:700px;">
<div class="product-image" style="width:210px; float:left;">
<?php $imagePath = $node->field_image_cache['0']['filepath']; ?>
<a href="<?=base_path()?><?=$imagePath?>" rel="lightshow[prod]">
<img src="<?=base_path()?>files/imagecache/product/<?=$imagePath?>" alt="<?=$title?>" title="<?=$title?>">
</a>
<ul class="other_imgs" style="list-style-type:none; margin-top:10px; text-align:center;">
<?php foreach ($node->field_image_cache as $images) { if ($images['filepath'] != $imagePath) { ?>
<li style="display:inline; padding:0; margin-left:0;"><a href="<?=base_path()?><?=$images['filepath']?>" rel="lightshow[prod]" title="<?=$title?>">
<img src="<?=base_path()?>files/imagecache/thumbnail/<?=$images['filename']?>" alt="<?=$title?>"></a></li>
<?php } } ?>
</ul>
</div>
<div class="product-add-to-cart" style="margin-left:10px; width:480px; float:left; clear:right;">
<h1 class="title" style="color:#000; font-size:1.6em; font-weight:bold;"><?=$title?></h1>
<span style="font-size:.8em;">Ships Fast & <a href="http://www.hugamonkey.com/info/love-it">Free</a></span>
<div class="add-to-cart-box" style="width:320px; margin-top:10px; padding:.4em; border:5px solid #ccc; background:#f1f1f1;">
<div class="add-to-cart-box_pricing-box" style="background:#fff; border-bottom:1px dotted #000; height:2.6em;">
<div class="add-to-cart-box_price" style="float:left; font-size:2em; font-weight:bold; margin-top:.2em;"><?=uc_currency_format($node->sell_price)?></div>
</div>
<div class="add-to-cart-box_add-to-cart" style="padding:.4em; font-size:.8em;">
<a href="<?=base_path()?>files/sitewide/hugamonkey-baby-sling-sizing-chart.png" rel="lightshow[prod]">
<img src="<?=base_path()?>themes/dreamy/images/sizingIcon.png" alt="Baby Sling Sizing Chart" /></a><br />
<a href="<?=base_path()?>files/sitewide/hugamonkey-baby-sling-sizing-chart.png" rel="lightshow[prod]">Sizing Chart</a>
<a href="<?=base_path()?>info/sizing-chart" style="font-size:80%;">[Detailed Instructions]</a>
<?php print $node->content['add_to_cart']["#value"]; ?>
</div>
</div>
<div class="product-rating-box" style="margin-top:10px; width:320px; float:left; clear:right; font-size:.8em; padding:.2em; border:2px solid #ccc;">
<div class="product-rating-box_ratings" style="float:left; width:120px;">
Product Rating: <?php print $node->content["fivestar_widget"]["#value"]; ?>
</div>
<div class="product-rating-box_reviews" style="float:left;">
<?php if ($node->comment_count != 0 ) { ?>
<a href="#comment-field"><?=$node->comment_count;?> Customer Reviews</a><br />
<?php } ?>
<?php if ($node->comment_count != 0 ) { ?>
<a href="#comment-field">Write A Review</a>
<?php } ?>
<?php if ($node->comment_count == 0 ) { ?>
<a href="#comment-field">Be The First To Write A Review!</a>
<?php } ?>
</div>
</div>
</div>
</div>
<br clear="all" />
<div class="product-bottom" style="width:700px; margin-top:20px;">
<div class="product-description" style="width:700px;">
<div style="background:url(<?=base_path()?>themes/dreamy/images/decription-bg.png) no-repeat; width:700px; height:30px; padding:25px 0 0 20px;">
<h3 style="color:#fff;">Baby Sling Description:</h3>
</div>
<div class="product-description_content" style="margin-left:0;">
<?php print $node->content['body']['#value']; ?>
</div>
</div>
<div class="product-meta">
<div style="background:url(<?=base_path()?>themes/dreamy/images/product-meta-bg.png) no-repeat; width:700px; height:40px; padding:25px 0 0 20px;">
<h3 style="color:#fff;">Spread The Word:</h3>
</div>
<div class="product-meta_content">
<p>Do you love the <?=$title?>? <a href="<?=base_path()?><?php print $node->links['forward_links']['href']; ?>">Spread the word</a>.</p>
<p>Or, share us at your favorite social bookmarking site:<?=$service_links?></p>
</div>
</div>
<div id="comment-field" style="background:url(<?=base_path()?>themes/dreamy/images/product-comments-bg.png) no-repeat; margin-top:20px; width:700px; height:40px; padding:25px 0 0 20px;">
<h3 style="color:#fff;">Customer Reviews:</h3>
</div>
</div>
</div>
</div>
?>
3) Изменить
rel="lightshow[prod]
на
class="thickbox"
, у вас стоит не lightbox, a thickbox4)Изменить ещё что-то по вкусу
Спасибо за вариант, но не то.
Был бы у меня один товар - решение бы подошло, но нода-то у меня не одна. А для каждой id="node-3", id="node-5", ... id="node-55" делать свою страничкупредставления - так себе вариант.
Мне бы какое-нибудь решение поуниверсальней, погибче.
Приехали. То что я вам дал - это темизация ВСЕХ тысяч и десятков тысяч страниц ваших товаров в пределах одного типа ноды.
Сколько у вас может быть типов нод? Десяток,два? Уж осилите невось десяток шаблонов
Блин я туплю. Я с чего-то вдруг подумал что под типом ноды подразумевается ее ID)))
volocuga, огромнейшее вам спасибо!