Пользовательская форма добавления информации

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

Аватар пользователя baklaev baklaev 11 сентября 2014 в 14:23

Добрый день. Сразу перейду к техзаданию.
Есть доска объявлений. Необходимо сделать форму для добавления объявления пользователем. Тип материала объявление есть, но я не хочу, чтоб пользователь видел доп настройки, а имел только ограниченный набор полей, + вводил данные на своей темизированной странице, а не в админском интерфейсе.
Я понимаю, что есть форм api, как сделать форму знаю.
Вопрос в другом. Если форма уже есть, есть набор полей для администратора, то можно ее просто вытащить уже готовую, отредактировать и вставить на страницу, т.е. не создавать свою форму, потом разбираться вручную что в какую таблицы mysql надо вставить...
Типа $form['существующая форма'].
Короче как упростить этот процесс, или придется все с нуля писать в tempelate.php

Комментарии

Аватар пользователя vlucas vlucas 11 сентября 2014 в 14:54

Если вы будете её вытаскивать готовую, она вытащится опять со всеми настройками, поэтому лучше hook_form_alter в своей теме а не в модуле

Аватар пользователя baklaev baklaev 12 сентября 2014 в 22:52

Не очень все подходит. Наверное немного переформулирую вопрос.
1. Создал тип материала "объявление" с соответствующими полями.
2. Через свой админский интерфейс я могу добавить объявление, но там все некрасиво и хотелось бы сделать некоторые поля автозаполняемые (например, есть поле "компания", если у юзера она зарегина, чтоб заполнялось автоматом).
3. Поэтому мне надо создать такую форму для юзера, дописать на пхп кое-что и привести в красивый вид.
Вопрос, как это сделать наилучшим способом, чтоб не извращаться с написанием своей формы и добавлением напрямую в БД. Может для этого есть api...
В принципе, сначала подумал, что drupal_get_form подойдет, но, если честно, не разобрался как вытянуть нужную форму из БД.
Т.е. необходима форма есть по адресу node/add/adds. Она же как то формируется. Можно ли на этом этапе ее как то перехватить и изменить.