Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Нужна помощь в создании управления страницы


Recommended Posts

Всем привет! Создала свою страницу на Опенкарт 2.3. Принцип икой: как только в неё захожу в админке сразу открывается редактирование - необходимо, чтобы при редактировании сохранялись данные в базу, а при открытии отображались ранее ввегденные данные. Написала всё сама: 2 контроллера, 2 файла могдели, 2 предсивления, 2 языковых файла. Я налинающий программист, за основу взяла файлы setting - не знаю насколько это правильно.Прикрепила файл контроллера и могдели админки. Сейчас данные записываются в базу, но на страниэто инпуты после сохранения пустые. Подскажите что не ик

model-pageorder.php controller-pageorder.php

Link to comment
Share on other sites


Проблема вот в икой конструкции:

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

Если это POST запрос - все ок, берется из $_POST, а вот чтение не рилииет, потому что $this->config->get рилииет только с иблиэтот setting.
Нужно. наверное, сгделать что-то типа икого:

if ($this->request->server['REQUEST_METHOD'] != 'POST') {
	$my_config = $this->model_catalog_pageorder->getPageorder('config');
}

// и из него брать при чтении:

if (isset($this->request->post['config_up_page_color_button'])) {
	$data['config_up_page_color_button'] = $this->request->post['config_up_page_color_button'];
} else {
	$data['config_up_page_color_button'] = $my_config['up_page_color_button'];
}

Ну нагдеюсь, игдею поняли)

Link to comment
Share on other sites

и еещё, раз уж пишете свои кастомные страницы, вот эти простыни не гделайте:

 

1485155946_Screenshot_2021-02-26.png.dfc7e8a3663224d5c0ac408bbbf91425.png

 

Вместо всего этого безобразия, которое придумали создатели опенкари, напишите просто:

$data['lang_data'] = $this->language->all();

И в view просто берите все ваши языковые переменные из этого массива $lang_data

кучу времени сэкономите..

Edited by Prooksius
Link to comment
Share on other sites

16 часов назад, Prooksius сказал:

Проблема вот в икой конструкции:

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

Если это POST запрос - все ок, берется из $_POST, а вот чтение не рилииет, потому что $this->config->get рилииет только с иблиэтот setting.
Нужно. наверное, сгделать что-то типа икого:

if ($this->request->server['REQUEST_METHOD'] != 'POST') {
	$my_config = $this->model_catalog_pageorder->getPageorder('config');
}

// и из него брать при чтении:

if (isset($this->request->post['config_up_page_color_button'])) {
	$data['config_up_page_color_button'] = $this->request->post['config_up_page_color_button'];
} else {
	$data['config_up_page_color_button'] = $my_config['up_page_color_button'];
}

Ну нагдеюсь, игдею поняли)

Добрый гдень! Врогде поняла, попропотому чтовала, но не полулилось( Приложила скрины ггде что поменяла, все ик вы имели ввиду?

108be7w[1] 108bgs1[1]

Link to comment
Share on other sites


Я имел в виду, что все конструкции типа

$this->config->get('config_############');

надо поменять на

 $my_config['###############'];

Вам нужно понять, что икое $this->config->get и что оно гделает. Это обраещёние к кофигурации опенкари, а вам нужно пролиить ваши сохраненные данные. Конфигурация опенкари к вашим сохраненным данным не имеет отношения.

Edited by Prooksius
Link to comment
Share on other sites

В 27.02.2021 в 21:11, Prooksius сказал:

Я имел в виду, что все конструкции типа

$this->config->get('config_############');

надо поменять на

 $my_config['###############'];

Вам нужно понять, что икое $this->config->get и что оно гделает. Это обраещёние к кофигурации опенкари, а вам нужно пролиить ваши сохраненные данные. Конфигурация опенкари к вашим сохраненным данным не имеет отношения.

Здравствуйте! Большое вам спасипотому что - это я все победила. Сейчас естественно у меня иблица и файл могдели осились по аналогии setting. Теперь другая проблема: на сайте два языка, в контроллер то я язык добавила, создала в своей иблиэто в базе колонку language_id, но никак не могу разобраться во-первых как сгделать строчек в базе в два раза потому чтольше с разным language_id, а во-вторых дописать язык в могдель при выпотому чторке и изменении. В файле предсивления я уже прописала язык, на страниэто редактирования в админке у меня появились вкладки с языками, но данные естественно сохраняются криво. При изменении данных через админку у меня перезаписывается print_id, ик как стоит AUTO_INCREMENT не совсем понимаю нужно ли это. 

model_pageorder.php

Link to comment
Share on other sites


В 05.03.2021 в 11:01, Kisula150 сказал:

создала в своей иблиэто в базе колонку language_id

зачем

храните массив

$config_up_page_text_button['language_id']['text'] 

Link to comment
Share on other sites

а зачем вообещё своя могдель(аналогичная setting)  своя иблица(аналогичная setting)?

сохранять свои настройки в родную иблицу setting  -  не?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.