Kisula150 Опубліковано: 26 лютого 2021 Share Опубліковано: 26 лютого 2021 Всем привет! Создала свою страницу на Опенкарт 2.3. Принцип такой: как только в неё захожу в админке сразу открывается редактирование - необходимо, чтобы при редактировании сохранялись данные в базу, а при открытии отображались ранее введенные данные. Написала всё сама: 2 контроллера, 2 файла модели, 2 представления, 2 языковых файла. Я начинающий программист, за основу взяла файлы setting - не знаю насколько это правильно.Прикрепила файл контроллера и модели админки. Сейчас данные записываются в базу, но на странице инпуты после сохранения пустые. Подскажите что не так model-pageorder.php controller-pageorder.php Надіслати Поділитися на інших сайтах More sharing options...
Prooksius Опубліковано: 26 лютого 2021 Share Опубліковано: 26 лютого 2021 Проблема вот в такой конструкции: 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']; } Ну надеюсь, идею поняли) Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 26 лютого 2021 Share Опубліковано: 26 лютого 2021 (змінено) и еще, раз уж пишете свои кастомные страницы, вот эти простыни не делайте: Вместо всего этого безобразия, которое придумали создатели опенкарта, напишите просто: $data['lang_data'] = $this->language->all(); И в view просто берите все ваши языковые переменные из этого массива $lang_data кучу времени сэкономите.. Змінено 26 лютого 2021 користувачем Prooksius Надіслати Поділитися на інших сайтах More sharing options... Kisula150 Опубліковано: 27 лютого 2021 Автор Share Опубліковано: 27 лютого 2021 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] Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 27 лютого 2021 Share Опубліковано: 27 лютого 2021 (змінено) Я имел в виду, что все конструкции типа $this->config->get('config_############'); надо поменять на $my_config['###############']; Вам нужно понять, что такое $this->config->get и что оно делает. Это обращение к кофигурации опенкарта, а вам нужно прочитать ваши сохраненные данные. Конфигурация опенкарта к вашим сохраненным данным не имеет отношения. Змінено 27 лютого 2021 користувачем Prooksius Надіслати Поділитися на інших сайтах More sharing options... Kisula150 Опубліковано: 5 березня 2021 Автор Share Опубліковано: 5 березня 2021 В 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 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 В 05.03.2021 в 11:01, Kisula150 сказал: создала в своей таблице в базе колонку language_id зачем храните массив $config_up_page_text_button['language_id']['text'] Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 а зачем вообще своя модель(аналогичная setting) своя таблица(аналогичная setting)? сохранять свои настройки в родную таблицу setting - не? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Нужна помощь в создании управления страницы Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Prooksius Опубліковано: 26 лютого 2021 Share Опубліковано: 26 лютого 2021 (змінено) и еще, раз уж пишете свои кастомные страницы, вот эти простыни не делайте: Вместо всего этого безобразия, которое придумали создатели опенкарта, напишите просто: $data['lang_data'] = $this->language->all(); И в view просто берите все ваши языковые переменные из этого массива $lang_data кучу времени сэкономите.. Змінено 26 лютого 2021 користувачем Prooksius Надіслати Поділитися на інших сайтах More sharing options... Kisula150 Опубліковано: 27 лютого 2021 Автор Share Опубліковано: 27 лютого 2021 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] Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 27 лютого 2021 Share Опубліковано: 27 лютого 2021 (змінено) Я имел в виду, что все конструкции типа $this->config->get('config_############'); надо поменять на $my_config['###############']; Вам нужно понять, что такое $this->config->get и что оно делает. Это обращение к кофигурации опенкарта, а вам нужно прочитать ваши сохраненные данные. Конфигурация опенкарта к вашим сохраненным данным не имеет отношения. Змінено 27 лютого 2021 користувачем Prooksius Надіслати Поділитися на інших сайтах More sharing options... Kisula150 Опубліковано: 5 березня 2021 Автор Share Опубліковано: 5 березня 2021 В 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 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 В 05.03.2021 в 11:01, Kisula150 сказал: создала в своей таблице в базе колонку language_id зачем храните массив $config_up_page_text_button['language_id']['text'] Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 а зачем вообще своя модель(аналогичная setting) своя таблица(аналогичная setting)? сохранять свои настройки в родную таблицу setting - не? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Нужна помощь в создании управления страницы Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Kisula150 Опубліковано: 27 лютого 2021 Автор Share Опубліковано: 27 лютого 2021 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] Надіслати Поділитися на інших сайтах More sharing options...
Prooksius Опубліковано: 27 лютого 2021 Share Опубліковано: 27 лютого 2021 (змінено) Я имел в виду, что все конструкции типа $this->config->get('config_############'); надо поменять на $my_config['###############']; Вам нужно понять, что такое $this->config->get и что оно делает. Это обращение к кофигурации опенкарта, а вам нужно прочитать ваши сохраненные данные. Конфигурация опенкарта к вашим сохраненным данным не имеет отношения. Змінено 27 лютого 2021 користувачем Prooksius Надіслати Поділитися на інших сайтах More sharing options... Kisula150 Опубліковано: 5 березня 2021 Автор Share Опубліковано: 5 березня 2021 В 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 Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 В 05.03.2021 в 11:01, Kisula150 сказал: создала в своей таблице в базе колонку language_id зачем храните массив $config_up_page_text_button['language_id']['text'] Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 а зачем вообще своя модель(аналогичная setting) своя таблица(аналогичная setting)? сохранять свои настройки в родную таблицу setting - не? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Нужна помощь в создании управления страницы
Kisula150 Опубліковано: 5 березня 2021 Автор Share Опубліковано: 5 березня 2021 В 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 Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 В 05.03.2021 в 11:01, Kisula150 сказал: создала в своей таблице в базе колонку language_id зачем храните массив $config_up_page_text_button['language_id']['text'] Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 а зачем вообще своя модель(аналогичная setting) своя таблица(аналогичная setting)? сохранять свои настройки в родную таблицу setting - не? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
fanatic Опубліковано: 6 березня 2021 Share Опубліковано: 6 березня 2021 а зачем вообще своя модель(аналогичная setting) своя таблица(аналогичная setting)? сохранять свои настройки в родную таблицу setting - не? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1
Recommended Posts