computed_field

fairrandir Ср, 07/06/2017 - 10:11

Не используйте PHP фильтр!

На форуме некоторые товарищи, иногда рекомендуют для решения задачи использовать встроенный в ядро PHP фильтр, или Views PHP. Никогда так не делайте! И вот почему:

Тип материала: 
Версия Drupal: 
8 Спасибо

shadowrun Пнд, 21/03/2016 - 16:01

Не включается поле "computed_field" в отображениях формы

Подскажите пожалуйста - в чем может быть проблема такая

Установил модуль https://www.drupal.org/project/computed_field
для создания вычисляемого поля.
Модуль установился, создал новое вычисляемое поле в типе материалов "Цена со скидкой"
Но в управлении отображением формы оно отключено. Все попытки перетащить его наверх ни к чему не приводят ( на 7ке аналогичный модуль заводился без проблем)

Тип материала: 
Модули и темы: 
Версия Drupal: 
0 Спасибо

FreeLancerPro Пнд, 21/12/2015 - 05:28

{РЕШЕНО} Вопрос по настройке модуля Computed Field

Доброго времени суток всем

Есть сайт, на котором, есть тип материала с полем "дата". Поле дата имеет начальную и конечную дату с временем.
Так же есть поле в котором планируется выводить разницу между начальной и конечной датой с временем.

Поискав ответ, нашел 2 подходящих решения в виде готовых модулей, первый Computed Field и второй Math Field.

Тип материала: 
Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

molp Втр, 01/09/2015 - 08:04

[Решено] Вопрос по Views: Exposed filter и Computed field

Подскажите варианты решения следующей задачи:

Материал содержит два поля: number (это цена товара в валюте) и computed field (цена в рублях - вычисляемое поле).

Для вывода данных использую модуль Views.
В разделе Поля я могу выбрать какое поле отобразить: number или computed field.

Так же используется Better Exposed Filters для фильтрации в пределах диапазона (jquery ui slider).
Но в Фильтрах доступно только number.

Тип материала: 
Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

molp Пнд, 31/08/2015 - 04:36

[Решено] Ошибка Computed Field (cannot redeclare ... previously declared)

Использую модуль Computed Field для конвертации цены.
Для вычисляемого поля написал код:

<?php
$nd 
node_load(33);
$nf round($nd->field_rate['und'][0]['value'] * $entity->field_price_ye['und'][0]['value'], 2);
$new_nf stan($nf3);
function 
stan($value$offset) {
    
$v = (string)$value;
    
$l strlen($v);
    
$ret = array();
    for(
$i=$l$i>=0$i--) {
        if( (
$i $offset) == $ret[] = " ";
        
$ret[] = $v[$l-$i];
    }
    return 
trim(implode(null$ret));
}
$entity_field[0]['value'] = $new_nf." руб.";
?>

В результате на страницах собранных на Views получаю ошибку:

Тип материала: 
Модули и темы: 
Версия Drupal: 
0 Спасибо

dreamsforsale Пнд, 15/12/2014 - 13:25

Node Reference - Drupal Commerce - Автоматическое создание связи.

На первом этапе хочу поделиться с общественностью хорошим примером, предложенным в свое время Жилиным: http://www.drupal.ru/username/zhylik
Сейчас уже как 3 года не заходит на сайт. Верю, что у него все ок.

Есть модуль References, который, кстати, в Друпале8 уже в ядре, но разговор сейчас про DRUPAL7.

Итак, вводная:

- 2 типа материала, например, для упрощения: Курица (koko) и Яйцо (ags).

В конечном итоге получим следующую логику:

1. Заходим на страницу "Курица"
2. Жмем ссылку "Снести яйцо"
3. Попадаем на страницу создания ноды "Яйцо", заполняем в обычном режиме не заботясь о связях и обратных ссылках. Жмем сохранить. В итоге получаем ноду "Яйцо" с уже настроенной ссылкой Node Reference на "Курицу", указанную в п. 1.

Тип материала: 
Модули и темы: 
Версия Drupal: 
0 Спасибо

Ekaterina23 Вс, 27/07/2014 - 12:43

Помогите с Computed Field

нужно через "computed field" взять значение из поля1 материала и выводить его уже в измененном виде в поле2 того же материала.

Тип материала: 
Модули и темы: 
Версия Drupal: 
0 Спасибо

tech Пнд, 28/04/2014 - 08:25

Computed Field. PHP: как присвоить 0 пустым полям?

Допустим есть несколько числовых полей. При создании материала в них можно ничего не указывать. Но те поля, в которые введены числа, должны складываться.

Проще всего в коде поля computed field складывать все числовые поля перед этим присвоив 0 тем полям, куда числа не были введены.

Но когда в конструкции if проверяю на равенство NULL числового поля возникает ошибка при создании материала:

Тестовый код:

<?php
if (array_pop(array_pop(field_get_items($entity_type$entity'field_cpu'))) == NULL$entity_field[0]['value'] = 0;
else 
$entity_field[0]['value'] = array_pop(array_pop(field_get_items($entity_type$entity'field_cpu')));
?>
Тип материала: 
Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

VasyOK Втр, 11/03/2014 - 20:34

Не могу передать значение артикула Уберкарта в поле Computed field. Если артикул числовой - работает. Буквенно-циферный - нет.

Хочу вывести значение SKU уберкарта в поле [module=computed_field].
Сделал так (картинки внизу).Все это работает как нужно, если артикул числовой. А если состоит из букв и цифр - не работает. Где-то напутал :(



Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

Kottov Вс, 02/02/2014 - 22:38

Получение данных поля со страницы профиля

Пользователь при регистации заполняет поле feild_address.
Создает материал в котором в одном из полей должна собираться ссылка используя значение этого поля. Собирается в скрытом режиме, но затем она видна другим при просмотре его материала.

Для себя разбил это на две задачи.
1. При создании материала автоматически вносить в скрытое поле значение с feild_address автора. Думал что это токенами лекго сделается. Но не выходит.
Пробовал:

[current-user:field_address]

%value[current-user:field_address]

!value[current-user:field_address]

@value[current-user:field_address]

<?php
$first = '[current-user:field_address]';
&second = token_replace($first, $type = 'global', $object = NULL, $leading = '[', $trailing = ']');
print_r(&second);
?>
Ничего не вышло.

Тип материала: 
Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

iloveny Пнд, 28/10/2013 - 22:25

[РЕШЕНО] Проблема с выводом возраста пользователя

Для вывода возраста пользователя делал все статье

Задача: в профайл пользователя добавить поле возраст.
Решение:
Поле будем делать динамически-рассчитываемым. В качестве профиля пользователя используется Profile2.
Дополнительно нам понадобятся:
Date (для формирования поля даты и реализации календаря)
Computed fields (само поле возраст)
Установка и настройка
Модули ставятся, как обычно. В модуле Date обратите внимание на часовой пояс по умолчанию и форматы даты.
В профиль пользователя добавляем новое поле "Дата рождения" типа "Date" называем его field_profile_birthdate указываем виджет "выпадающий календарь".
Таким образом получаем поле для ввода даты рождения. От него мы будем плясать при расчёте возраста.

Тип материала: 
Модули и темы: 
Версия Drupal: 
0 Спасибо

VasyOK Втр, 15/10/2013 - 00:01

Добавить в views количество нод для [родительского] термина.

Есть вьюха - список терминов. Как в нее добавить количество нод в термине?
Т.е. чтобы было
Животные 6
-кошки 3
-собаки 3
Основная проблема - это родительский термин. Для дочерних я разными способами могу подсчитать.

Вот тут даже код нашел http://xandeadx.ru/blog/drupal/563

<?phpfunction mymodule_taxonomy_tree($vid) {
  $terms = db_query("
    SELECT td.tid, td.name, th.parent, (
      SELECT COUNT(*) FROM {taxonomy_index} ti
      LEFT JOIN {node} n ON ti.nid = n.nid
      WHERE ti.tid = td.tid AND n.status = 1
    ) node_count FROM {taxonomy_term_data} td
    INNER JOIN {taxonomy_term_hierarchy} th ON th.tid = td.tid
    WHERE vid = :vid
    ORDER BY weight
  ", array(':vid' => $vid))->fetchAll();
 ?>
Модули и темы: 
Версия Drupal: 
0 Спасибо

Bel-Den Пт, 12/07/2013 - 04:36

[Решено] Настройка на сайте модуля Computed field

Требуется специалист для настройки работы модуля computed_field. Действие требуется настроить элементарное: "одна ячейка минус другая ячейка", значение должно использоваться далее во вьюс, рассчитывается только раз, далее не меняется. Оплата web-money

Тип материала: 
Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

VasyOK Чт, 29/11/2012 - 22:53

Можно ли добавить взаимосвязь в views по вычисляемому полю.

Можно ли создать вычисляемое поле по которому сделать взаимосвязь в views?
Сами вычисляемое поля я делал через computed field и через Views PHP - они прекрасно вычислялись. А как их использовать во взаимосвязях? Или идти по другому пути?

Модули и темы: 
Версия Drupal: 
0 Спасибо

VasyOK Пт, 23/11/2012 - 01:17

У меня есть код для node.tpl.php как его использовать в computed field?

Приветствую программистов!
Есть у меня код в node.tpl.php прекрасно работает
(field_kol - тип поля целое число, виджет текстовая строка)
<?php $stocklevel = $node->field_kol['und']['0']['value'];
if ($stocklevel == 0) {
print('0');
} else {
print('1') ;
} ?>

Тип материала: 
Модули и темы: 
Версия Drupal: 
0 Спасибо

plabor Чт, 18/10/2012 - 13:15

Несколько Amazon item, посчитать сумму с помощью Computed Field

Есть тип материала. У него есть несколько полей Amazon Item, например, field_processorid, field_mbid, field_hdid.

В файле amazon-item-details.tpl.php прописано, чтобы отображалась цена продукта так:

Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

dreamsforsale Втр, 06/03/2012 - 09:04

ДОПИЛИТЬ Computed field

Добрый день!

DRUPAL 7

Есть решение для создания дочерних нод из родительской ноды с помощью References.
Ссылка на документ

Пытаюсь переделать это решение для использования c Entity reference

проблема появляется уже на втором шаге инструкции с полем computed field.

Выглядит код так:

$this_uri = request_uri();
$point_nid = explode("/", $this_uri);
if (is_numeric($point_nid[5])) {
$entity->field_display_point[$langcode][0]['nid'] = $point_nid[5];
} else {
}
$entity_field[0]['value'] = '';

Подозреваю, что это написано именно для References и только для него.

НУЖНО ДОПИЛИТЬ ЭТО РЕШЕНИЕ ДЛЯ ИСПОЛЬЗОВАНИЯ вместе с Entity reference

Тип материала: 
Модули и темы: 
Ключевые слова: 
0 Спасибо

aa2007 Пт, 23/12/2011 - 10:50

Computed field + flags [Как?]

Через вьювс или редактирование шаблона вставлять в нужную мне позицию флажок не хочется, а модуль не предоставляет такой возможности, как перетаскивание поля с флагом. Вот я и решил, что с помощью Computed field можно вызывать флажки. Но что-то выходит не очень хорошо..

Поставил computed field 7.x-1.x-dev от 2011-Mar-07 и flags 7.x-2.0-beta6.
В Computed Code (PHP) пишу:

Тип материала: 
Модули и темы: 
Версия Drupal: 
0 Спасибо

okolobaxa Вс, 18/12/2011 - 18:45

Проверка элементов вычисляемого поля на пустоту

Создал вычисляемое поле, склеиваемое из двух(в обоих полях 4-х-значное значение года).
Склеиваю так:
<?php$entity_field[0]['value'] = $entity->field_from[LANGUAGE_NONE][0]['value']."|".$entity->field_to[LANGUAGE_NONE][0]['value'];?>

Необходимо чтобы при пустоте одного из полей, оно не участвовало в склейке, а то при сохранении вылезает php-warring.

В PHP не силен, пытался сделать так:

<?php$str = "";
if !empty($entity->field_from[LANGUAGE_NONE][0]['value']) && !empty($entity->field_from[LANGUAGE_NONE][0]['value'])
{
$str = $str.$entity->field_from[LANGUAGE_NONE][0]['value'];
}
$str = $str."|";
if !empty($entity->field_to[LANGUAGE_NONE][0]['value']) && !empty($entity->field_to[LANGUAGE_NONE][0]['value'])
{
$str = $str.$entity->field_to[LANGUAGE_NONE][0]['value'];
}
$entity_field[0]['value'] = $str;?>

В результате должен получиться один из вариантов 1965|1966 или 1965| или |1966.

В чем может быть проблема?

UPD: Удалите тему плиз, я не знаю в чем проблема и как она исправилась, но все заработало.

Тип материала: 
Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

Dark_Neo Сб, 29/10/2011 - 11:07

Computed field function override - не вызывается

Добрый день.

Установил модуль computed field, создал в материале вычисляемое поле. В настройках поля сказано, что можно заменить код в окошке на функцию. Функции я создал, но ума не приложу - у меня не сохраняются результаты, либо я их не туда сохраняю.

Код, который использую:

function computed_field_field_task_access_display($field, $element, $node) {
    // список полей, из которых берем id людей
    $fields = array(
        "field_task_executor",
        "field_task_coexecutors",
        "field_task_signer",
        "field_task_readers"
    );
   
    // список читателей
    $readers = array();
   
    // пробегаем по всем поляем, берем из них nid
    foreach ($fields as $nodeField) {
        $tfield = $node->$nodeField;
       
        foreach ($tfield as $val) {
            if ($val['nid']) {
                if (!in_array($val['nid'], $readers)) {
                    $readers[] = $val['nid'];
                }
            }
        }
    }
   
    $display = $readers;
   
    //echo '<pre>';
    //print_r($readers);
    //echo '</pre>';
}

Если раскомментить echo-и, то да, они выводятся на экран, но как адекватно вывести это при просмотре ноды?

Вторая функция, которая по описанию должна вызываться при вычислении вычисляемого поля.

function computed_field_field_task_access_compute(&$node, &$field, &$node_field) {
    // список полей, из которых берем id людей
    $fields = array(
        "field_task_executor",
        "field_task_coexecutors",
Тип материала: 
Модули и темы: 
Версия Drupal: 
0 Спасибо

Страницы