Не могу разобраться как это реализовать во views,буду признателен если ткнете носом в нужном направлении.
Суть проблемы: Есть тип содержимого Чертеж, на нем должено выводиться изображение чертежа с area map, и таблица с деталями каждому полю которой присваивается id, для перехода с изображения. Есть материал Деталь в нем есть поля: порядковый номер детали на чертеже, номер детали, кол-во шт. и примечание. хотелось бы что на странице содержимого Чертеж выводилась таблица деталей состоящая из полей содержимого Деталь, пытаюсь реализовать это во views пока безуспешно, буду очень признателен за придание мне ускорения для решения данной проблемы.
по пробую написать подробней.
Есть тип содержимого: Чертеж, Деталь
Тип содержимого Деталь содержит поля: Номер детали в таблице, Артикул, Название, Кол-во.
Нужно создать блок views который должен выводиться в типе содержимого Чертеж в виде таблицы и содержать поля содержимого Деталь. Пока сделал так добавил и Чертежу и Деталь поле ссылку на словарь таксономии "Страницы чертежей" в нем добавил термины чертеж1, чертеж2. Создал материал содержимого Чертеж и так же назвал Чертеж1, Чертеж2 и привязал к одно именным терминам словаря. Создал несколько деталей и добавил им термины (пару в черт1 пару в черт2).
Создал вьюс для содержимого Чертеж ввиде блока, добавил поля содержимого Деталь, теперь думаю как настроить фильрацию по термину таксономии
Комментарии
Не очень понятно что именно нужно. Но может быть это поможет: https://www.drupal.org/project/field_group
по пробую написать подробней.
Есть тип содержимого: Чертеж, Деталь
Тип содержимого Деталь содержит поля: Номер детали в таблице, Артикул, Название, Кол-во.
Нужно создать блок views который должен выводиться в типе содержимого Чертеж в виде таблицы и содержать поля содержимого Деталь. Пока сделал так добавил и Чертежу и Деталь поле ссылку на словарь таксономии "Страницы чертежей" в нем добавил термины чертеж1, чертеж2. Создал материал содержимого Чертеж и так же назвал Чертеж1, Чертеж2 и привязал к одно именным терминам словаря. Создал несколько деталей и добавил им термины (пару в черт1 пару в черт2).
Создал вьюс для содержимого Чертеж ввиде блока, добавил поля содержимого Деталь, теперь думаю как настроить фильрацию по термину таксономии
Это типа спецификация на сборочный чертёж нужна? Тогда нужен модуль Node Reference, через него к чертежу добавляем все входящие детали. С помощью модуля Node Reference View Formatter делаем таблицу спецификации, где будут выводиться все нужные поля из деталей. Таксономия тут нужна только для задания раздела спецификации, он в представлении таблицы должен быть группирующим полем.
Но тут тогда возникает одна сложность - как быть с атрибутами входимости. Такими, как количество и примечание (если оно не глобальное). Т.е. есть, например, Винт В.М3-6gх5 12ХН9Т ГОСТ1491-80 и в Сборке 1 он используется в количестве 2шт, а в сборке 2 он используется в количестве 5шт. Можно, конечно этот винт каждый раз создавать заново, но это неправильно. Если кто-то знает для этого какие-то готовые решения, с интересом выслушаю. Не то, чтобы мне это нужно. Просто интересно, т.к. в свободное от друпала время занимаюсь PDM-системами))
Возможно пригодятся:
https://www.drupal.org/project/field_collection
https://www.drupal.org/project/entityreference
https://www.drupal.org/project/views_selective_filters
Вобщем дерзайте!
Нужно создать контекстный фильтр "Content: Has taxonomy term ID". В нём выбрать "Provide default value" и php-код.
В поле написать что-то вроде(без <?php и ?>):
<?php
$node = node_load(arg(1));
return $node->field_tags['und'][0]['tid']; //fiels_tags - название словаря таксономии
?>
Спасибо сейчас все это буду... пробывать
Опишу более подробно.. вдруг кому пригодится: Создаем вьюс для содержимого Деталь, добавляем поля которые необходимо выводить на ноде Чертеж, в КОНТЕКСТНЫЕ ФИЛЬТРЫ: указываем Содержимое: Nid, там указываем в настройках: когда значение фильтра не доступно выбираем значение по умолчанию брать ID материала из URL, и включаем опцию Allow multiple values(Разрешить множественные значения). В отображение полей ноды Чертеж, полю Node Reference выбираем в качестве форматтера поля — Rendered View и в настройках указываем созданное ранее представление
я использовал таксономию что бы реализовать с помощью нее связь, обошлось без нее, хотя ее использование как было подмечено тоже возможно пригодится.
у меня все статично с данными полями, то есть они не будут изменяться:)
перехожу ко второму этапу... мне нужно теперь присвоить id или name желательно для
<tr>
или же полю для якоря, на верно будет выглядеть не очень если будет выделяться только одно поле, то есть у меня по переходу используется js который добавляет дополнительный класс<tr>
, который и задает выделение цветом. Займемся темизацией views<?php
<tr <?php if ($row_classes[$row_count]) { print 'class="' . implode(' ', $row_classes[$row_count]) .'"'; } ?>>
?>
как сюда добавить id?
пробую так не получается:
<?php
<tr <?php if ($row_classes[$row_count]) { print 'class="' . implode(' ', $row_classes[$row_count]) .'"'; } ?> id="node-<?php print $rows->nid; ?>>
?>
и так тоже
<?php
<tr <?php if ($row_classes[$row_count]) { print 'class="' . implode(' ', $row_classes[$row_count]) .'"'; } ?> id="<?php print $fields['nid']->content ?>">
?>
поле nid добавил и исключил из вывода.
и так не пошло
<?php
id="<?php print $fields['имя_поля']->content; ?>"
?>
чет по ходу надо пойти поспать......