Добавление материала и глобальное управление

Главные вкладки

Аватар пользователя GlaVbuh GlaVbuh 31 мая 2006 в 0:23

Мне необходимо, чтобы пользователи могли добавлять определенные типы материалов. Это я сделала. Содержание (поля) материала я делаю с помощью flexinode. Но вот в чем загвоздка: при добавлении определенного типа материалов я должна точно знать что он попадет именно в нужный раздел каталога. Т.е. если я добавляю книгу она попадет в книги, а не в одежду. Еще желательно чтобы при добавлении у юзера было более развернутое меню (выпадающий список), потому как книги еще могут подразделяться на подкатегории научная литература, детская, фантастика и др. Как это сделать?

Еще есть задача сделать т.н. глобальное управление. Т.е. для каждого товара у меня будет указан Город в котором он продается. При добавлении товаров в каталог соотвественно растет и список городов, так вот его надо вынести выпадающим списком куда-то в header и чтобы при выборе города Москва и путешествии по каталогу с этим выбором человеку встречался только товар который он может купить в Москве.

Комментарии

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 31 мая 2006 в 10:15

Создайте в admin/taxonomy словарь (vocabulary) - например "Товары". В этом словаре создайте термины (termins) - например, "Книги", "Одежда" и т.п. В свойствах словаря укажите, что он применяется для вашего типа материалов (галочку поставьте).
Теперь при создании этого типа материалов вы будете видеть список терминов словаря. Для каждого материала можно будет указать, одежда это или книги. Аналогично с городами и проч. параметрами.

Это при добавлении нового материала. Если вам нужно, чтобы пользователь мог фильтровать ваш каталог по разным параметрам - воспользуйтесь модулем Views. Он позволяет создать различные виды наглядного представления данных (таблица, список, блок) и мощные средства для фильтрации по различным критериям. Переводы документации к модулю - см. http://wiki.drupallers.ru/Perevody/Modul'Views

Аватар пользователя GlaVbuh GlaVbuh 31 мая 2006 в 18:01

Я попробовала сделать как вы сказали но столкнулась со следующим:
у меня есть следующая структура например Вентиляторы - Фирма-производитель - Модель1,Модель2,Модель3.. Реализовано это сейчас с помощью страниц (конечный результат т.е. Модель и добавляется пользователем). Я пока не понимаю как реализовать подобную структуру с помощью таксономии. Конечный результат перехода по каталогу - страница с полями-описаниями модели, при том некоторые поля - это категории (и еще как-то надо сделать будет чтобы категории мои не выносились куда-то наверх, а как раз были полноценными полями только ссылками).

Как вариант КУДА БУДЕТ УХОДИТЬ только что созданый материал (ведь при помощи таксономии эта проблема не решается как я поняла) у меня есть мысль делать в разделе Фирма-производитель где находятся Модель1 Модель2 Модель3 сделать ссылку добавки материала именно в этот раздел.

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 31 мая 2006 в 18:39

Довольно трудно разобраться в вашем запросе Smile Но попробуем.

Делаете словари: Товары (вентиляторы, книги, одежда...) и Фирмы (перечень фирм-производителей). Приписываете их типу материалов Модели.
Теперь на странице с полями для этого типа материалов пользователь может указать, что это "вентилятор" и производитель его - "Super Corp."

Созданный материал (страница об определенной модели) оказывается и в Товарах, и в Фирмах. С помощью Views вы можете указать, как построить каталог: например, "список фирм" --> их продукция, или наоборот "продукция" --> разбивка по фирмам. Там можно указать тип (списком, таблицей, в блок), порядок вывода на экран (сортировка по дате, цене, чему годно), фильтр (что отобрать для данной страницы). Можно добавить также фильтры для пользователя в виде выпадающих меню, чтобы он сам мог указать, что ему вывести на экран.

Данные полей в вашем материале можно выводить и в виде ссылок. Для этого вам придется создать в каталоге themes/ваша_тема_оформления/ файл node-flexinode-n.tpl.php (где n - ID типа материала). Это шаблон для вывода материалов вашего типа. В этом файле вместо переменной $content (которая обычно выводит все содержимое страницы) вы можете расписать, как и в каком порядке выводить поля. Что-нибудь типа <a href="/$node->flexinode_n">Вентиляторы</a>.

Аватар пользователя GlaVbuh GlaVbuh 2 июня 2006 в 1:47

Я наверное уже тут всех достала. Но видимо мои мысли по мироустройству и мысли разработчиков не очень совпадали Smile

Вобщем что я имею на данном этапе. Читала все про Views. Тыкала усиленно. Но ничего не поняла Sad

Сейчас попробую описать все заново Smile

На моем сайте будет 4 больших раздела единого каталога. Обзовем их Раздел1 Раздел2 Раздел3 Раздел4. Которые надо чудненько организовать посередине страницы (т.е. в Содержимом) в единую табличку 2на2 (как?). Т.е. надо создать 4 блока меню: Раздел1, Раздел2, Раздел3, Раздел4. Меню развернутые, чтобы были видны Подразделы (для каждого Раздела свои), при тыке на которые выводился бы список Моделей товаров. Тыкаю на Модель и мне выдается полная ее характеристика. При этом мое меню раздела должно "уйти" в left sidebar (тут скорее всего надо будет настраивать появление меню при открытии определенных страниц, да?) в таком же развернутом виде как и на главной.

Теперь что касается самой Модели. Ее могут добавлять как администратор так и зарегистрированые пользователи. Проблема вся в том, что по некоторым полям должна происходить сортировка. Например по Городу изготовления. Создаю словарь, там термины. Присваиваю этот словарь документу который отвечает за создание Модели. Начинаю создавать Модель, но вместо того чтобы стать обычным полем (просто с ссылкой-категорией) моя категория "уходит" наверх (где и располагаются ссылки таксономии), но мне-то нужно сделать это полем. Полагаю надо копаться в исходниках, но где конкретно - не представляю.

Плюс ко всему при создании материала у администратора есть возможность указать в каком меню будет располагаться Модель. Для каждого раздела у меня свой Тип Модели (Тип1 Тип2 Тип3 Тип4). Т.е. надо привязать создаваемый Тип к Разделу в котором она будет находиться СРАЗУ после создания, т.е. пользователю должен быть представлен выпадающий список ПОДразделов заранее известного Раздела.

Далее, что касается "глобального управления". В header нужно поместить выпадающий список Городов, который должен работать так: я выбираю город и начинаю путешествовать по каталогу, а каталог мне показывает только те Модели которые имеют отношение к этому Городу (в поле Город указан именно выбраный).

Вот это далеко не полное описание того, что мне еще придется сделать Smile