WebFamily создал тему Новости для конкретной ноды где нужно было выводить новости фирмы на странице фирмы (тип материала), но для D7. У меня была похожая задача.
Хотелось решить это без использования Node Reference и User Reference, чтобы сотрудникам фирм не приходилось заполнять поле reference (если на ресурсе каталоге фирм будет сотни фирм, то reference будут не удобны.
Для решения понадобятся доп. модули: Pathauto, Token, Views. Даже без CCK можно обойтись.
1. Создаем пользователя, которому даем права на создание типа материалов, который будет назначен профилем фирмы. Логином пользователя (именем пользователя) делаем краткое название фирмы.
2. В модуле Pathauto + Token. В автоматических алиасах для типа материала, который мы назначили как "Фирма" (профиль фирмы) ставим [author-name-raw]/profile (можно без /profile, но тогда надо, чтобы в алиасах user profile не стояло [user-raw] имя пользователя, а то конфликт будет с алиасом "Фирмы")
Такая операция позволит в URL ноды-фирмы выводить имя пользователя (сотрудника фирмы), который создаст профиль своей фирмы и потом будет постить новости фирмы.
3. Создаем ноду типа материалов "Фирма", автором ставим пользователя-сотрудника фирмы. Сохраняем. URL этой ноды должен стать ИМЯ-СОТРУДНИКА [author-name-raw] (оно же краткое название фирмы).
4. Создаем пару новостей, автором этих нод ставим пользователя-сотрудника фирмы.
5. Создаем представление Views. Тип Материал. Дисплей Блок.
Стиль строки Поля. Создаем поле, например, Node: Title
Ставим фильтр: Тип материала - Новости
Идем в аргументы и добавляем User:Uid
В нем: Provide default argument (аргумент по умолчанию) >
> Default argument type: User ID from URL >
> Галочка на Also look for a node and use the node author (искать материалы, у которых автор из аргумента). Сохраняем вид.
6. Идем в управление блоками и ставим созданный блок View в нужное место на страницах "Фирма". В результате блок показывает новости фирмы на странице (профиле) фирмы.
P.S.: Если к этому сделать регистрацию по ролям с модулями Content profile и Autoassignrole, как тут, то сотрудники-фирмы будут делать все сами
Комментарии
Спасибо! Полезно.
Делал подобное - на странице компании выводил ее новости (2 типа материала). Связывал терминами: заголовок компании в ноде == название термина, затем выводил с помощью конт. фильтров Has taxonomy term + Node:nid блок на странице компании.
Кроме того, выводя таким же образом прайс компании (тоже тип материала), на странице прайса выводил заголовок ссылкой на описание в виде "Компания ⇒ Цены Компании" с помощью views_embed_view в шаблоне и CSS (здесь считаю нужным напомнить об отмене кеширования такой страницы). Пример страницы цен.
Я правильно понял?
Прайс - это отдельная нода для каждого клуба своя. На ней через views_embed_view выводится Клуб-ссылкой. Ага, супер, возьму на заметку.
А таблица прайса field collection сделана, она блоком выводится с тем же id ноды, что и сама нода-прайс. Странно. Это так field collection работает? (ни разу его не юзал, ха блин, только для D7)
В общем интересный сайт. Если что поспрашиваю, ладно?
Если честно, не понял вопроса. Field collection - поле с набором полей в типе материала "прайс", id двух нод: прайс и компания - разный (не умею делать один nid). Они связываются общим термином. Опять же, большой минус в том, что не кешируется это дело (хотя, можно ведь и регион туда впихнуть...).
Да, интересовался долго - для 6-ки нет аналогов вроде как.
Без проблем, skype: kaztur.ru
Спасибо. Вот думаю, может на семерке делать подобный сайт...
Имхо, 7-ка намного гибче в этом плане, а уж views-3.x - это просто няшка!
Да 7-ка гибче, но мне надо еще к фирмам прикрутить возможность продавать свои товары. Есть ubercart marketpalce, но он только для 6-ки.
В 7-ке можно создать роль продавец и выставить права на создание и редактирование своих товаров, отображать через Views товары фирм в их профилях, но встает вопрос о репортах для продавцов по заказам и продажам и комиссии (хотя в ubercart marketpalce, имхо, это организовано по минимуму).
А views-3.x есть и для 6-ки.
В сомнениях что делать. Собирать систему все же на 6-ке и параллельно портировать ubercart marketpalce для 7-ки, или делать отдельный модуль продавцов для 7-ки.. Время еще поджимает, надо уже "сегодня"
Почти ни разу не работал с магазинами, но Rules в 7-ке тоже няшка!
Как ограничить выбор в поле Node Reference только тех нод, которые создал юзер, редактирующий материал, который нужно связать. http://www.drupal.ru/node/29855
Например, пользователь фирмы постит новость фирмы и благодаря аргументу по текущему пользователю, в списке для выбора Node Reference будет только его фирма, или фирмы (если он создал несколько фирм). Так же с помощью патча для Node Reference и коды, приведенных в http://www.drupal.ru/node/29855, можно подставлять значение по умолчанию.