Вы здесь

Как вставить переменную поля цена в node.tpl.php

0

Нужно вытащить переменную из поля цена и вставить ее в node.tpl.php, нужно чтобы цена выводилась сбоку заголовка товар. Подскажете как это можно сделать, и как узнать какая переменная отвечает за цену в поле? Спасибо.

Версия Drupal: 
7.x
Категория: 
Field APINode APITheming
Связанные проекты: 
Drupal Commerce
Вопрос задан 27.01.2016 - 20:27

Посмотрите, как у вас называется машинное поле в админке. Называться commerce_price оно не может, так как Drupal добавляет ко всем полям созданным из админки префикс 'field_'

Комментарий оставлен 27.01.2016 - 21:06

Вообще в типе материала который выводит товар, нет такого поля (Цена) там есть только поле (Товар) а в отображение этого типа материала есть поле цена, но там машинного имени не видно. Я это машинное имя взял в настройках полей товара.

Комментарий оставлен 27.01.2016 - 21:17

Ответы

0

Нужно поставить модуль devel, включить и вывести в tpl-файле:

dpm($content);

Там посмотреть, куда же выводится ваша цена.
У меня это выглядит так:

Если два раза кликнуть на product:commerce_price, то будет показано название элемента массива: ['product:commerce_price']. Добавляете его к $content и прописываете в вашем tpl файле:

print render($content['product:commerce_price']);

Точно так же выводятся и все остальные поля.

Ответ дан 28.01.2016 - 10:17
Аватар пользователя shu
shu
178

Можете поставить рядом с ответом галочку. Тогда вопрос пометится, как решённый, а ответ - правильный. И мне пару баллов капнет )

И во всех своих остальных вопросах так же поступить )))

Комментарий оставлен 28.01.2016 - 20:09
0

Мне кажется https://drupalize.me/videos/configuring-layout-display-suite?p=1141 даст вам решение задачи в UI.

Либо в node.tpl.php:

<?php print render($content['your_field_name']); ?>

Как узнать имя поля? Поставить модуль devel и сделать <?php dpm($content); ?> в node.tpl.php .

Ответ дан 27.01.2016 - 20:39

Вставляю <?php print render($content['commerce_price']); ?> ничего не выводит. Спасибо за ответ.

Комментарий оставлен 27.01.2016 - 21:00

Мне получается нужно как то программно вывести поле (Цена) в файле шаблона

Комментарий оставлен 27.01.2016 - 21:01

Нашел на друпал.ру решение <?php print render($content['product:commerce_price']); ?>
Но тоже не работает

Комментарий оставлен 27.01.2016 - 22:17
0

как узнать какая переменная отвечает за цену в поле

print_r($node);
Ответ дан 27.01.2016 - 21:06
Аватар пользователя xandeadx
xandeadx
1542