Есть свой модуль...
В него добавляются данные (есть свои таблицы в базе)...
Проходят валидации и другие проверки перед сохранением...
Возник вопрос есть ли у кого то рабочий пример как организовать правильное редактирование этих данных и удаление (с подтверждением или без него)???
САМА ФОРМА:
<?php
function tender_download_file_form($form_state, $nid) { // ГЕНЕРИРОВАНИЕ ФОРМЫ знаю что нужно титлы писать на инглише как будет готово исправлю
$form['download']['company'] = array('#type' => 'textfield', '#title' => t('Название организации'),);
$form['download']['company_rnn'] = array('#type' => 'textfield', '#title' => t('РНН организации'),);
$form['download']['company_director'] = array('#type' => 'textfield', '#title' => t('Ф. И. О. директора'),);
$form['download']['company_upoln_predst'] = array('#type' => 'textfield', '#title' => t('Ф. И. О. уполномоченного представителя'),);
$form['download']['company_upoln_predst_udost'] = array('#type' => 'textfield', '#title' => t('№ удостоверения'),);
$form['download']['company_adres'] = array('#type' => 'textfield', '#title' => t('Юридический адрес (включая город)'),);
$form['download']['company_tel'] = array('#type' => 'textfield', '#title' => t('Телефон (включая код города)'), );
$form['download']['company_email'] = array('#type' => 'textfield', '#title' => t('Электронная почта (разрешается только 1 email)'),);
$form['download']['buttons']['submit'] = array('#type' => 'submit', '#value' => t('Submit'),);
$form['#redirect'] = 'tender_documentation/'.$nid;
return $form;
}
function
tender_download_file_form_submit($form, &$form_state) { // ОБРАБОТЧИК ФОРМЫ вставка...
$download = $form_state['values']['download'];
$company_email = $form_state['values']['company_email'];
$nid=arg(1);
$result = db_query("SELECT * FROM {tender_email} WHERE company_email='%s'", $company_email);
$emailObj = db_fetch_object($result);
if (
$emailObj != null && $emailObj->email == $company_email) {
drupal_set_message(t("Your username already exists in the database.") ."<br />" .
t("Please enable cookies for these downloads to work."));
$auth = $emailObj->auth;
}
else {
$company = $form_state['values']['company'];
$company_director = $form_state['values']['company_director'];
$company_rnn = $form_state['values']['company_rnn'];
$company_upoln_predst = $form_state['values']['company_upoln_predst'];
$company_upoln_predst_udost = $form_state['values']['company_upoln_predst_udost'];
$company_adres = $form_state['values']['company_adres'];
$company_tel = $form_state['values']['company_tel'];
$auth = md5(uniqid(""));
db_query(
"INSERT INTO {tender_email} " .
"(nid, company, company_director, company_rnn, company_upoln_predst, company_upoln_predst_udost, company_adres, company_tel, company_email, auth, updated_at) " . // Вставка данных о пользователе
"VALUES ('%s','%s', '%s', '%s','%s', '%s','%s', '%s','%s', '%s', '". date("Y-m-d H:i") ."')",
$nid, $company, $company_director, $company_rnn, $company_upoln_predst, $company_upoln_predst_udost, $company_adres, $company_tel, $company_email, $auth
);
}
setcookie("download_auth", $company_email ."|". $auth, strtotime('+10 years'));
}
?>
Перерыл уже кучу сайтов... Кругом есть примеры как сделать форму для сохранения данных, а для редактирования не нашел...
Пытался понять как работает модуль node (по совету RxB) но тоже не догоняю сложно ориентироваться когда сотня взаимосвязанных функций...
Может есть у кого нибудь пример простецкого микромодуля который имеет свою таблицу и позволяет хранить / редактировать / удалять данные
Комментарии
Так ведь вам правильно говорили: это одна и та же форма. Добавьте к каждому элементу поле '#default_value', в него пропишите соответствующее значение из $form_state['values'], если оно установлено, и, собственно, это все.
А в _submit добавите UPDATE просто, например если где-нибудь в форме id существующей записи установлен.
Bios, начинаете напрягать. Скоро, наверно, перед походом в туалет топики будете создавать?
Я привёл модуль node в качестве примера в прошлой теме, если вам кажется, что есть способ легче, то пожалуйста, придумывайте
RxB
Никто ведь не обязывает вас отвечать... если не хотите не надо... У меня был опыт когда неделю тратиш на какую нибудь мелоч... А тут возможно кто то сталкивался, кто то сможет помочь...
Как я понимаю основное направление этого сайта поддержка и обсуждение системы... так что теоретически все в норме...
Изобретая велосипед потеряется времени ещё больше.
Ещё раз советую обратить внимание на модули ядра. Ничего нового ПРАВИЛЬНОГО не вы ни другие не придумаете. "Лишние" функции на ваш взгляд, совсем не лишние
Я не говорил что функции лишние, говорил что сложно ориентироваться в них... Ну да ладно...
В том то и дело что не хочется изобретать велосипед, хочется как положено... когда есть простой пример его проще усложнять под собственные нужды...
Тот модуль что я делаю сделан на основе другого... в итоге от другого осталось 2 функции...
как нибудь разберусь )) за то что подсказывали вам благодарен...