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

MVC - не понимаю логики и не могу отладить.


Mazay812

Recommended Posts

День добрый!

В шаблон "продукта" (twig, php тут не работает) требуется передать данные из нескольких полей таблицы oc_product. Но не для их отображения, а для выбора сценария.

Вопросов несколько.

1) {{ product_position}} - это единственный способ отобразить данные? 

2) Хотел var_dump() использовать. Не могу понять как его прицепить. Нет понимания как подцепить его к twig, к view или контроллеру.

3) В модели прописал свое поле в функцию public function getProduct($product_id) {$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, ...., product_position, .......}

    'product_position' => $query->row['product_position'], Не понимаю, данные поступают в массив или нет.

 

Функцию в контроллере пытался сформировать $product_position = $this->model_catalog_product->getProductPosition($product_id);

В общем ничего не работает. Что в контроллер писать вообще не понятно. Есть базовые файлы MVC есть "modification". Может вообще не в те файлы пишу. Отчаяние просто какое то...не понимаю, как по шагам проверить алгоритм, чтобы заработало. Раньше с opencart не сталкивался, с этими twig-ами. По этому как без рук.

 

Подскажите пожалуйса, как решить задачу...

 

 

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


28 минут назад, Mazay812 сказал:

День добрый!

В шаблон "продукта" (twig, php тут не работает) требуется передать данные из нескольких полей таблицы oc_product. Но не для их отображения, а для выбора сценария.

Вопросов несколько.

1) {{ product_position}} - это единственный способ отобразить данные? 

2) Хотел var_dump() использовать. Не могу понять как его прицепить. Нет понимания как подцепить его к twig, к view или контроллеру.

3) В модели прописал свое поле в функцию public function getProduct($product_id) {$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, ...., product_position, .......}

    'product_position' => $query->row['product_position'], Не понимаю, данные поступают в массив или нет.

 

Функцию в контроллере пытался сформировать $product_position = $this->model_catalog_product->getProductPosition($product_id);

В общем ничего не работает. Что в контроллер писать вообще не понятно. Есть базовые файлы MVC есть "modification". Может вообще не в те файлы пишу. Отчаяние просто какое то...не понимаю, как по шагам проверить алгоритм, чтобы заработало. Раньше с opencart не сталкивался, с этими twig-ами. По этому как без рук.

 

Подскажите пожалуйса, как решить задачу...

 

Все элементарно просто.

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

В контроллере вы обращаетесь к данному методу и передаете ему необходимые аргументы

На стороне шаблона вы выводите ваши данные

К примеру в модельке вы создали

public function getProductPosition($product_id) {

return $massiv (Ваши данные которые вернуть)

}

В контроллере

$product_position = $this->model_catalog_product->getProductPosition($product_id);

Во View если это уже значение то просто

 

{{ product_position }}

Если же это массив одномерный то так

{{ product_position['ключ'] }}

Если многомерный, то перебираете через for

{% for position in product_position %}
	{{ position.тут ключ }}
{% endfor %}

 

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

Я вообще тогда запутался в какие файлы и что пишем...Жесть. Что самое интересное, правки в нем - хоть как то отражались на странице. И ещё что интересно - я отключил и вычистил кэш. Откуда тогда эти файлы мне не ясно теперь вообще....

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


Спасибо legioner26  !

 

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

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


Мой Вам совет. Возьмите любой модуль и разберите его. К примеру модуль категорий там. 

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

28 минут назад, Mazay812 сказал:

Ещё раз огромное спасибо!  Пошел экспериментировать. Думаю  через пару часов опять упрусь во что-то))

Я также начинал )))

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

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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