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

Как в контролере получить modul_id?


Recommended Posts

В моем контролереле модуля, метод индекс принимает поле модуля $setting

class ControllerExtensionModuleMy extends Controller {
    public function index($setting) {

в $seting прихjlит массив данных с поля $seting моего модуля из базы  oc_modul

 

А как получить modul_id этотой записи в базе?

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


  В 16.05.2019 в 14:39, allcho сказав:

Жаль... придется делать костыль чтобы в $setting записывалось и $modul_id

Expand  

Подумайте как это сделать без костылей

 

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

  В 16.05.2019 в 15:52, buslikdrev сказав:

На первой странице нашёл запросом "Как в контролере получить modul_id?"

Expand  

там не по теме :(

 

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

Админка и фронт?

 

  В 16.05.2019 в 15:04, mazein сказав:
Expand  

Вот же нормальное решение

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

  В 16.05.2019 в 18:39, buslikdrev сказав:

Нормальное. Но не для модулей на продажу.

Expand  

 

Т.е. костыль в виде сохранения id модуля второй раз - это решение для продажи?

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

  В 16.05.2019 в 18:45, buslikdrev сказав:

Вы свой костыль раз 5 установите (примените в нескольких модулей).

Expand  

catalog/model/extension/module.php

 

Сколько раз?

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

  В 16.05.2019 в 19:34, buslikdrev сказав:

Хорошо, а если, кто-нибудь другой в своём модуле назвал переменную по другому или заменил json_decode($query->row['setting'], true); по другому?

Expand  

А если кто-то вообще пол движка переписал.

Это всё домыслы.  Никогда не будет всеобщей тотальной совместимости. Если правки в одном участке кода, то могут быть конфликты.

Правка вполне безобидная и логчная. Туда только skip добавить и вполне приемлимо будет.

А если придираться, то можно и не такого накопать. :)

 

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

if ($query->row) {
	if (isset($query->row['code']) && $query->row['code'] == 'module_name')  {
		$query->row['setting'] = preg_replace('/}$/', ',"module_id":"' . (int)$module_id . '"}', $query->row['setting']);
	}
...

Как-то так?

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

  В 16.05.2019 в 21:14, mpn2005 сказав:

А не сильно изощрённо? :)

Expand  

как по мне, то не очень :)

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

  В 16.05.2019 в 18:39, buslikdrev сказав:

При редактировании или создании сохраняешь (Админка). Потом в catalog в setting получаешь (фронт).
 

Нормальное. Но не для модулей на продажу.

Expand  

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

То что Вы давали мне в другой теме про getLastid это я использовал в  бэке чтобы сохранить данные в связной таблицы .

 

Я просто пока не ореинтируюсь в опенкарет и документации внятной нигде не нашел

 

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


  В 17.05.2019 в 00:12, allcho сказав:

Я просто пока не ореинтируюсь в опенкарет и документации внятной нигде не нашел

Expand  

 

У него ее и нет)) Он очень простой. 

 

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

  В 17.05.2019 в 01:42, buslikdrev сказав:

Я вам не давал в другой.

Вот ещё вариант.

  Показати вміст

 

Expand  

 

Я имел ввиду, там выше вы в коменте на эту тему ссылку дали, спасибо за вариант я попробую

 

 

  В 17.05.2019 в 00:41, halfhope сказав:

 

У него ее и нет)) Он очень простой. 

 

Expand  

 

Ну не знаю, что касается простоты, после yii для меня тут темный лес)

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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