Где собирается $page['content'] в commerce?

Тема в разделе "Drupal", создана пользователем Vallium, 7 дек 2016.

Информация :
Прежде чем создать новую тему внимательно ознакомьтесь с правилами раздела
Модераторы: DMS
  1. Vallium

    Vallium

    Регистр.:
    22 авг 2014
    Сообщения:
    221
    Симпатии:
    38
    На странице товара вывод всех его полей (картинка, цена, описание и т.д.) осуществляется через print render($page['content']);
    А где все это дело собирается в $page['content'] ?
     
    Последнее редактирование: 9 дек 2016
  2. AlexPop

    AlexPop Постоялец

    Регистр.:
    30 апр 2016
    Сообщения:
    74
    Симпатии:
    46
    node.tpl.php
     
  3. Vallium

    Vallium

    Регистр.:
    22 авг 2014
    Сообщения:
    221
    Симпатии:
    38
    насколько я понял здесь выводится, а не собирается
     
  4. AlexPop

    AlexPop Постоялец

    Регистр.:
    30 апр 2016
    Сообщения:
    74
    Симпатии:
    46
    ответ: собирается ядром...
    print render($content); - выводит все
    hide($content['FIELD_NAME']); - спрятать поле
    print render($content['FIELD_NAME']); - выводит
    Ты теорию спрашиваешь или ишешь решение? Теория drupal.org
     
  5. Vallium

    Vallium

    Регистр.:
    22 авг 2014
    Сообщения:
    221
    Симпатии:
    38
    Попытаюсь подробней объяснить...
    На странице стоит print render($page['content']); который выводит информацию о товаре. Мне нужно в зависимости от условий добавлять мою строку в определенное место этой информации. preg_replace не подходит - не за что зацепиться
     
    Последнее редактирование: 9 дек 2016
  6. AlexPop

    AlexPop Постоялец

    Регистр.:
    30 апр 2016
    Сообщения:
    74
    Симпатии:
    46
    print render($page['content']); === node.tpl.php
    внутри node.tpl.php (node--ТВОЙ_ТИП_КОНТЕНТА.tpl.php) делай свои кондиции (убери, если надо "print render($content);")
    Код:
    <?php if (ЧТО-ТО): ?>
        <?php print render($content['field_foo']); ?>
        <?php print render($content['body']); ?>
        <?php print render($content['field_foo2']); ?>
    <?php endif; ?>
    
    поставь модуль Devel
     
  7. Vallium

    Vallium

    Регистр.:
    22 авг 2014
    Сообщения:
    221
    Симпатии:
    38
    Devel поставить не дают (
    В каталоге есть только node.tpl.php. Больше похожих файлов нет. Добавил в node.tpl.php свой маркер (например 123). Открыл страницу товара - маркера нет
     
  8. AlexPop

    AlexPop Постоялец

    Регистр.:
    30 апр 2016
    Сообщения:
    74
    Симпатии:
    46
    почисть друпал кэш, убедись что редактируешь в папке активной темы.
    склонируй на локалку и поставь Девел