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

Пункты меню (Вопрос по Database)


ArtemPitov

Recommended Posts

Доброго времени суток ГОСПОДА  :-)

 

Поведайте мне пожалуйста, куда будет правильнее всего записывать  дополнительные пункты главного меню которые будут созданы модулем ?

PS // думал пилить все в settings  :ph34r:

 

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

лучше использовать отдельную таблицу для этих целей

settings для настроек, и если пунктов будет 100500 - ничего хорошего не выйдет

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

В таком случае и модель нужно для модуля писать ?

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

суть модели я понимаю, но еще модуль с моделями не писал, для бек-энда нужна модель это понятно, а вот для  фронт-энда так же ?

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

и вопрос сразу тогда по шапке фронт-энда 

if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
  $this->model_setting_setting->editSetting('menu_settings', $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'));
}

тут мы отправляем данные на обработку в модель $this->model_тут модель_модуля ->editSetting('menu_settings', $this->request->post);

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

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

и вопрос сразу тогда по шапке фронт-энда...

По этому разобрался, открыв модель )
Надіслати
Поділитися на інших сайтах

еще возник один вопрос по созданию БД для модуля 

 

У меня в меню модуля три отдельных таблицы которые несут свой функционал, для каждого функционала нужно создавать отдельно таблицу ? 

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

сесть и подумать

возможно, все нужные данные можно будет хранить в одной таблице?

 

без обид, но бОльшая часть ваших вопросов - прямо как у ребенка, с той разницей что тема взрослая :ugeek:

может имеет смысл спрашивать про действительно сложные моменты, а не про все подряд? ;)

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

Учту, я только учусь, вот и стараюсь по максимуму спросить, спасибо за ответ

Змінено користувачем afwollis
Надіслати
Поділитися на інших сайтах

Что бы не создавать тему задам вопрос тут, товарищи знатоки, помогите понять как правильно сделать

 

Есть такая форма

<form>
  <select>
    <option value="id"> </option> 
  </select>
  <input name="name[number_row][language_id]"> </input>
</form>

на выходе получаем трехмерный массив который записывается в таблицу settings ключи и значения отдельно  для select и для input 

 

Обработка в контроллере выглядит так

if (isset($this->request->post['form-menu-settings'])) {
			$menu_settings = $this->request->post['form-menu-settings'];
		} elseif($this->config->get('form-menu-settings')) {
			$menu_settings = $this->config->get('form-menu-settings');
		} else{
			$menu_settings = array();
		}

		$data['menu_settings'] = array();

		foreach($menu_settings as $setting){
			$data['menu_settings'][] = array(
				'menu_settings_category' => $menu_settings['category'],
				'menu_settings_stiker'   => $menu_settings['stiker']
			);
		} 

Сам вопрос, как записать значения (сериализованные массивы) select и input в  таблицу settings в одну колонку под одним ключом ?

Змінено користувачем ArtenPitov
Надіслати
Поділитися на інших сайтах

По поводу хранения пунктов меню - я бы выбрал настройки модуля, по аналогии с модулем featured.

Их же не тыщу штук будет.

 

По поводу последнего и остального - не усложняйте сериализацией и многомерностью.

 

Посмотрите любой модуль, делайте по аналогии, продумывайте UI.

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

Спасибо за ответ, по поводу пунктов меню, так и решил пилить в setting, но тут встал в ступор с сортировкой пунктов меню - тут же не выйдет использовать сортировку из бд (правда еще не разбирался с этим ). И сама цель - хочу все настройки пилить через один модуль вот и заморочился с многомерностью массива, может разумнее будет просто сделать насколько форм в одном модуле ?

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

Добавьте еще одно поле - sort_order и делайте по аналогии с сортировкой модулей.

Откройте файл catalog/controller/common/column_left.php и посмотрите как устроена сортировка модулей из setting.

$sort_order = array(); 

foreach ($module_data as $key => $value) {
  $sort_order[$key] = $value['sort_order'];
}

array_multisort($sort_order, SORT_ASC, $module_data);
Надіслати
Поділитися на інших сайтах

Что-то я до этого не додумался, спасибо Вам что "ткнули носом" буду разбираться

Змінено користувачем ArtenPitov
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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