Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

(нубский вопрос!) как получить данные из tpl в контроллере.


Recommended Posts

Доброе время суток.

Сразу прошу прощения за такой примитивный вопрос и за то (если вопрос уже когда то был задан, видимо просмотрел).

Ситуация следующая: создал модуль для ОС 2.0 которая работает с меню...... 

есть контроллер и tpl файл. Мне нужно в контроллере обрабатывать нажатие кнопки сохранить в верху модуля в админке. 

в принципе обработчик есть но вот загвоздка как через него послать данные из формы? 

Сразу хочу сказать что не смотря на то что я программер но вот с php, js,... знаком не очень. 

 

вот кусок кода из контроллера который отвечает за POST метод.

 

if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
$this->model_setting_setting->editSetting('topmenu', $this->request->post);


$this->session->data['success'] = $this->language->get('text_success');


$this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
}

вот фрагмент того, что в tpl 
 

<button type="submit" form="form-category" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary">
<i class="fa fa-save"></i>
</button>

чуть ниже есть следующие фрагменты:

<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-category" class="form-horizontal">
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label>
            <div class="col-sm-10">
              <select name="topmenu_status" id="input-status" class="form-control">
                <?php if ($topmenu_status) { ?>
                <option value="1" selected="selected"><?php echo $text_enabled; ?></option>
                <option value="0"><?php echo $text_disabled; ?></option>
                <?php } else { ?>
                <option value="1"><?php echo $text_enabled; ?></option>
                <option value="0" selected="selected"><?php echo $text_disabled; ?></option>
                <?php } ?>
              </select>
            </div>
          </div>
        </form>

и 

 
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-category" class="form-horizontal">
  <table id="menuitems" class="table table-striped table-bordered table-hover">
    <thead>
      <tr>
        <td class="text-right">№</td>
        <td class="text-left">ID</td>
        <td class="text-left"><?php echo $entry_menu_name; ?></td>
        <td class="text-left"><?php echo $entry_menu_link; ?></td>
        <td class="text-left"><?php echo $entry_menu_action; ?></td>
      </tr>
    </thead>
    <tbody>
      <?php $menu_row = 1; ?>
      <?php foreach ($items_menu as $menuitem) {?>
        <tr id="module-row<?php echo $menuitem['menu_id']; ?>">
          <td class="text-left"><?php echo $menu_row; ?></td>
          <td class="text-left"><input type="text" name="menu_id<?php echo $menuitem['menu_id']; ?>" value="<?php echo $menuitem['menu_id']; ?>"></td>
          <td class="text-left"><input type="text" name="menu_name<?php echo $menuitem['menu_id']; ?>" value="<?php echo $menuitem['name']; ?>"></td>
          <td class="text-left"><input type="text" name="menu_link<?php echo $menuitem['menu_id']; ?>" value="<?php echo $menuitem['link']; ?>"></td>
          <td class="text-left">
            <div class="topmenu-button-action" style="display: inline;">
             <?php /* <div style="display: inline;"><button type="button" onclick="saveMenuItem();" data-toggle="tooltip" title="<?php echo $button_menu_save; ?>" class="btn btn-warning"><i class="fa fa-save"></i></button></div> */?>
              <div style="display: inline;"><button type="button" onclick="$('#module-row<?php echo $menuitem['menu_id']; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_menu_delete; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></div>
            </div>
          </td>
        </tr>
        <?php $menu_row++; ?>
      <?php } ?>
    </tbody>
    <tfoot>
      <tr>
        <td colspan="4"></td>
        <td class="text-left"><button type="button" onclick="addMenuItem();" data-toggle="tooltip" title="<?php echo $button_menu_add; ?>" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td>
      </tr>
    </tfoot>
  </table>
  </form>
Вопрос как передать инфу из таблицы в контроллер. потому как он передает только topmenu_status в контроллер

if (isset($this->request->post['topmenu_status'])) {
$data['topmenu_status'] = $this->request->post['topmenu_status'];
} else {
$data['topmenu_status'] = $this->config->get('topmenu_status');
}

но в дебагере я остального не вижу. 

Кто подскажет? Хотя бы ссылку в какую сторону копать. 

Заранее благодарен.

 

Надіслати
Поділитися на інших сайтах


у вас два id="form-category" это недопустимо,

ну и поэтому передается, только первая(одна) форма.

  • +1 1
Надіслати
Поділитися на інших сайтах

Смотрите что передается в $this->request->post

а так же, вам следует каждой форме придать свои id и соответственно сабмит для каждой, если же один сабмит, то объедените всё в одну форму...

Надіслати
Поділитися на інших сайтах

у вас два id="form-category" это недопустимо,

ну и поэтому передается, только первая(одна) форма.

 

Смотрите что передается в $this->request->post

а так же, вам следует каждой форме придать свои id и соответственно сабмит для каждой, если же один сабмит, то обедените всё в одну форму...

 

Спасибо. Я делал отдельными формами. Сейчас я засунул все в одну форму и получилось. 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.