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

Использование переменной со значением из шаблона в контроллере и модели


Recommended Posts

Собственно все описано в заголовке 8)

 

Задача:

в шаблоне: к примеру получил переменную $per_zapr = '5';

 

в контроллере: к примеру делаю запрос в базу: $this->data['otvet_ot_bazi'] = $this->db->query("SELECT text FROM " . DB_PREFIX . "product_attribute  WHERE product_id = '" . (int)$this->request->get['product_id'] . "' AND attribute_id = '" . (int)!!!!!а вот здесь должна быть 5!!!!!! . "'");

 

как получить пятеречку??? заранее спасибо!!!

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

Ajax-запросом отправляешь в контроллер, либо сохраняешь переменную в скрытое поле в шаблоне, а затем уже обрабатываешь в контроллере

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

Собственно все описано в заголовке 8)

 

Задача:

в шаблоне: к примеру получил переменную $per_zapr = '5';

 

в контроллере: к примеру делаю запрос в базу: $this->data['otvet_ot_bazi'] = $this->db->query("SELECT text FROM " . DB_PREFIX . "product_attribute  WHERE product_id = '" . (int)$this->request->get['product_id'] . "' AND attribute_id = '" . (int)!!!!!а вот здесь должна быть 5!!!!!! . "'");

 

как получить пятеречку??? заранее спасибо!!!

 

У вас постановка задачи противоречит логике работы движка. Данные из модели в контроллере передаются в реестр, а потом запускается шаблон, который собственно и получает данные из реестра. Как вы себе представляете передачу данных из шаблона в модель, когда модель до запуска шаблона уже отработала своё?

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


У вас постановка задачи противоречит логике работы движка. Данные из модели в контроллере передаются в реестр, а потом запускается шаблон, который собственно и получает данные из реестра. Как вы себе представляете передачу данных из шаблона в модель, когда модель до запуска шаблона уже отработала своё?

вот  в том то и петрушка, приходится нагружать шаблон циклами (foreach) и при наличии огромного количества атрибутов и опций произойдет переполнение памяти. соответственно выполнение скрипта прервется, поэтому я хочу с запасом себя обезопасить... хотя все работает и так....

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

Посмотрите как реализовано добавление отзывов на фронтэнде или любая страница админки, где вводятся параметры

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

вот  в том то и петрушка, приходится нагружать шаблон циклами (foreach) и при наличии огромного количества атрибутов и опций произойдет переполнение памяти. соответственно выполнение скрипта прервется, поэтому я хочу с запасом себя обезопасить... хотя все работает и так....

 

Ну на самом деле может и не совсем так. Вызывая в цикле обработку определенным данных вы можете зачищать переменные после прохождения каждого цикла, а значит рациональнее использовать память. Другое дело, что многократный вызов в цикле функций тех же моделей из шаблона (в принципе это не сложно делать ведь реестр в шаблонах доступен а, значит и загруженные в него модели, да и сама функция загрузки тоже) будет сильно тормозить работу. Но альтернатива - выборка данных с запасом в один заход в контроллере и передача их в шаблон для последующей обработки уже другими средствами (не SQL запросами а средствами PHP). Так может быть будет быстрее, потому что в базу не бегаете постоянно, но памяти это потребует намного больше. Так что тут нужно искать оптимум.

 

Главное - сейчас по вашей логике получается, что сначала нужно запустить контроллер, получить в шаблоне некоторое значение, записать его в реестр, потому из шаблона заново запустить контроллер, чтобы он уже мог получить переменную из реестра и потом выдать HTML-код для браузера. Не слишком ли сложно? Это явный признак ошибки проектирования логики вашего приложения.

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


советовать конечно можно много чего от аякса до итд, но смысл задачи я так и не понял.

 

Зачем из шаблона значение переменной отправляете опять в контроллер, когда сам контроллер ее и выдал вам??

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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