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

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


Recommended Posts

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

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

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

 

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

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


15 минут назад, allcho сказал:

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

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

 

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

27 минут назад, buslikdrev сказал:

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

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

 

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

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

 

2 часа назад, mazein сказал:

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

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

3 минуты назад, buslikdrev сказал:

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

 

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

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

14 минут назад, buslikdrev сказал:

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

catalog/model/extension/module.php

 

Сколько раз?

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

3 минуты назад, buslikdrev сказал:

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

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

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

Правка вполне безобидная и логчная. Туда только 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
Надіслати
Поділитися на інших сайтах

1 минуту назад, mpn2005 сказал:

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

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

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

5 hours ago, buslikdrev said:

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

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

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

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

 

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

 

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


27 минут назад, allcho сказал:

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

 

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

 

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

2 hours ago, buslikdrev said:

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

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

  Hide contents


<?xml version="1.0" encoding="utf-8"?>
<modification>
  <name>module_id</name>
  <code>534534354453435</code>
  <version>1.0</version>
  <author>module_id</author>
  <link></link>
  <file path="catalog/controller/common/column_*.php|catalog/controller/common/content_*.php">
	<operation error="skip">
      <search>
        <![CDATA[$setting_info = $this->model_extension_module->getModule]]>
      </search>
      <add position="after">
        <![CDATA[				$setting_info['module_id'] = $part[1];]]>
      </add>
    </operation>
  </file>
</modification>

 

 

 

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

 

 

3 hours ago, halfhope said:

 

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

 

 

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

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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