Drupal Commerce - страница товара, настройка вида

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

Аватар пользователя Virtaa Virtaa 25 августа 2014 в 3:03

Здравствуйте!

Как можно настроить вид карточки товара в Commerce?

Хотел это сделать так: отверстать по своему файл tpl и информацию о товаре вывести через сниппеты (типа <?php print render($page['field_product']); ?> или <?php print render($page['field_image']); ?>).
То есть не всё сразу выводить через render($page['content']); , а каждый элемент карточки товара рендерить отдельно.

Но ничего не отображается. Работает только сниппет <?php print $node->title; ?> , отображающий заголовок ноды.

Кто-нибудь знает, какие сниппеты нужно использовать для вызова отдельно картинки товара, описания товара и т.д. в Commerce?

Спасибо.

Комментарии

Аватар пользователя Koreychenko Koreychenko 25 августа 2014 в 15:36

Если вы верстаете шаблон node--product.tpl.php, то для доступа к полям именно товара используйте
<?php print render($page['product:field_image']); ?>

Аватар пользователя Virtaa Virtaa 27 августа 2014 в 2:27

Не работает.
Как вообще можно сконфигурировать страницу карточки товара, возможно есть какие-то другие способы?
Если,например, выводить через всё <?php print render($page['content']); ?>. Откуда берётся 'content' ?

Аватар пользователя Koreychenko Koreychenko 27 августа 2014 в 11:06

Блин, насмотрелся я тут на вас!

Карточка товара прописывается в файле node--блабабла.tpl.php, потому что это такая же нода, с точки зрения друпала. В ноде нет перепенной $page. Эта переменная есть только в файлах page--блаблабла.tpl.php

Вы не то темизируете.

Если темизировать карточку товара через файл node--{nodetype}.tpl.php, то все поля хранятся в переменных $content['fieldname'] их можно выводить так:

<?php print render($content['product:field_image']); ?>

Чтобы просто весь оставшийся контент ноды вывести, можно просто сказать <?php print render($content); ?>