Перейти к содержанию

Рекомендуемые сообщения

Доброго времени суток! Имеется OpenCart 2.3, сейчас настраиваю вывод договора с заполненными данными пользователя, но они все никак не хотят отображаться в tpl

Контроллер:

$this->load->model('account/signup');
		$vendor_data = $this->model_account_signup->getVendorDataUI();
		foreach ($vendor_data AS $result) {
			$data['vendor_data'][] = array (
				'username'			=> $result['username'],
				'firstname'			=> $result['firstname'],
				'middle_name'		=> $result['middle_name'],
				'lastname'			=> $result['lastname'],
				'date_added'		=> $result['date_added']
				);
			$username = $result['username'];
			$firstname = $result['firstname'];
			$middle_name = $result['middle_name'];
			$lastname = $result['lastname'];
			$date_added = $result['date_added'];
		}

		$data['username'] = $username;
		$data['date_added'] = $date_added;
		$data['firstname'] = $firstname;
		$data['middle_name'] = $middle_name;
		$data['lastname'] = $lastname;
		
		
		$this->load->language('account/dogovor');
		$data['text_head'] = $this->language->get('text_head');
		$data['text_first'] = sprintf($this->language->get('text_first'), $lastname, $firstname, $middle_name);
		$data['text_city'] = $this->language->get('text_city');
		$data['text_date'] = $this->language->get('text_date');
		$data['text_head'] = $this->language->get('text_head');
		$data['text_predmet'] = $this->language->get('text_predmet');
		$data['text_second'] = $this->language->get('text_second');
		$data['text_oplata'] = $this->language->get('text_oplata');
		$data['text_third'] = $this->language->get('text_third');
		$data['text_poryadok'] = $this->language->get('text_poryadok');
		$data['text_fourth'] = $this->language->get('text_fourth');
		$data['text_otvet'] = $this->language->get('text_otvet');
		$data['text_fifth'] = $this->language->get('text_fifth');
		$data['text_fors'] = $this->language->get('text_fors');
		$data['text_sixth'] = $this->language->get('text_sixth');
		$data['text_osob'] = $this->language->get('text_osob');
		$data['text_seventh'] = $this->language->get('text_seventh');
		$data['text_rekv'] = $this->language->get('text_rekv');
		$data['text_eighth'] = $this->language->get('text_eighth');
		$data['text_seller'] = $this->language->get('text_seller');
		$data['text_nickname'] = $this->language->get('text_nickname');
		
		$this->response->setOutput($this->load->view('common/success', $data));

Модель:

public function getVendorDataUI() {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE username = '" . (int)$this->request->get['username'] . "'");		
		return $query->row;
	}

Вызов контролера происходит по ссылке вида:

https://tu***.ru/index.php?route=account/signupsuccess&username=avrora

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Не стоит доставать get параметры в модели. Достаньте параметр в контроллере и передайте как параметр функции в модель.

2) $this->request->get['username'] - У вас точно число? Вы его в модели приводите к (int).

Если это строка, то лучше делать так:

	public function getVendorDataUI($username) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE username LIKE '" . $this->db->escape($username) . "'");		
		return $query->row;
	}

А в контроллере вызывать так:

$vendor_data = $this->model_account_signup->getVendorDataUI($this->request->get['username']);

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
		if (isset($this->request->get['username'])) {
			$user = $this->request->get['username'];
		}

		$this->load->model('account/signup');
		
		$data['vendor_data'] =  array();
		
		$results = $this->model_account_signup->getVendorDataUI($user);
		
		foreach ($results as $result) {
			$data['vendor_data'][] = array (
				'username'			=> $result['username'],
				'firstname'			=> $result['firstname'],
				'middle_name'		=> $result['middle_name'],
				'lastname'			=> $result['lastname'],
				'date_added'		=> $result['date_added']
			);
		}

 

public function getVendorDataUI($user) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE username = '" . $this->db->escape($user) . "'");

 

В tpl будет вам $vendor_data

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, ibond сказал:

DB_PREFIX . "user` WHERE username = '" . $user . "'");

$this->db->escape

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, ArtemPitov сказал:

$this->db->escape

Ну да, но не int точно :) Хотя, может у него в базе имена числовые :)

UPD: Исправил в предыдущем посте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, ibond сказал:

 


public function getVendorDataUI($user) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE username = '" . $user . "'");

 

В tpl будет вам $vendor_data

Курс по внедрению уязвимостей в код? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, ibond сказал:

if (isset($this->request->get['username'])) { $user = $this->request->get['username']; }

$this->load->model('account/signup');

$data['vendor_data'] = array();

$results = $this->model_account_signup->getVendorDataUI($user);

Ну и еще, тут логика не совсем правильная, если обратится без гета будет ошибка 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте готовый модуль уже напишем. Подсказали, же. А дальше сама, сама, сама...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
38 минут назад, mpn2005 сказал:

1) Не стоит доставать get параметры в модели. Достаньте параметр в контроллере и передайте как параметр функции в модель.

2) $this->request->get['username'] - У вас точно число? Вы его в модели приводите к (int).

Если это строка, то лучше делать так:


	public function getVendorDataUI($username) {
		$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE username LIKE '" . $this->db->escape($username) . "'");		
		return $query->row;
	}

А в контроллере вызывать так:


$vendor_data = $this->model_account_signup->getVendorDataUI($this->request->get['username']);

 

Спасибо за помощь, стало лучше (если можно так сказать) :D вместо переменных в тпл посыпались нули, а так же полный журнал ошибок в магазине :(

2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'username' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 71
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'firstname' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 72
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'middle_name' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 73
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'lastname' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 74
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'date_added' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 75
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'username' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 77
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'firstname' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 78
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'middle_name' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 79
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'lastname' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 80
2017-01-19 0:34:10 - PHP Warning:  Illegal string offset 'date_added' in /home/e/e91239iy/e91239iy.bget.ru/public_html/catalog/controller/account/signupsuccess.php on line 81

а вот с int затупил реально))) изначально хотел по id делать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

print_r($vendor_data) -- массив

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
18 минут назад, ibond сказал:

print_r($vendor_data) -- массив

 

Array ( [user_id] => 46 [user_group_id] => 50 [username] => avrorahostel [password] => 96e79218965eb72c92a549dd5a330112 [salt] => [firstname] => Юлия [middle_name] => ggggg [lastname] => Месропян [email] => xorolllo@yandex.ru [image] => [code] => [ip] => [status] => 5 [date_added] => 2017-01-19 01:20:24 [cat_permission] => [store_permission] => [vendor_permission] => 46 [folder] => [user_date_start] => 0000-00-00 [user_date_end] => 0000-00-00 )
Изменено пользователем grechanyuk

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

$vendor_data[status''] ..... без foreach 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, ArtemPitov сказал:

$vendor_data[status''] ..... без foreach 

заработало :))) спасибо))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 часов назад, grechanyuk сказал:

заработало :))) спасибо))

В модели:

return $query->row;

Замените на:

return $query->rows;

Это если их там несколько.

Если один, то цикл в контроллере не нужен, как писал ArtemPitov.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочу разобраться в логике, подскажите как вывести в админке, в order_list.tpl данные из oc_address? Нужно поле "Company".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Landistore
      1 200.00 руб
      Скачать/Купить дополнение


      Electro - адаптивный шаблон интернет магазина электроники
      Electro- адаптивный шаблон для интернет магазина электроники. Универсальная структура и палитра позволяют использовать данный шаблон в различных тематиках
       
      Демонстрация
      Магазин: Смотреть демо магазина
      Админка: Смотреть демо админки, доступ: demo / demo
       
      Совместимость
      Opencart 2.3 / OcStore 2.3
       
      Основой для данного шаблона послужила стандартная тема default и большое желание сделать хорошую основу для быстрого и успешного старта вашего интернет-магазина. 

      Что вы получаете вместе с шаблоном
      Архив с актуальной версией шаблона и файлами дополнительных модулей.  Бесплатные обновления, которые формируются на основе ваших отзывов и предложений по улучшению  Подробную документацию по установке и настройке шаблона в которой разберется практически каждый человек. Набор баннеров для магазина одежды Стили для модуля ocFilter 4.7.5
      Особенности шаблона:
      Простая установка Адаптивная вёрстка Поддержка мультиязычности Три вида отображения товаров: список, список цен, сетка Добавлен вывод СЕО текста Наличие HTML баннеров (не картинка) Добавлено несколько вариаций "Сервиса" Стильные иконки от Stroke icons 7 Современные шрифты Установлена последняя версия Owl Carousel Заменен Magnific Popup на LightBox Удобное меню в мобильной версии (сайдбар) Реализовано дополнительное меню в моб. версии для быстрого доступа к корзине, товарам в сравнении, закладках Модуль “Стена категорий” Реализована смена изображений товара при наведении Реализован вывод изображений дочерних категорий реализован вывод ссылки "Товары в сравнении" в шапке Добавлен вывод процента скидки товара Реализован вывод номера телефона в шапке и подвале Реализован вывод email в шапке и подвале Реализован вывод времени работы магазина Добавлены ссылки на социальные сети в подвале (менять через код) Добавлено окно “cookies” Добавлены кнопки “Плюс/Минус” на странице товара Добавлена кнопка “Вверх” Пересобрана страница с производителями Пересобран личный кабинет покупателя Оптимизированный и структурированный код Поддержка разных браузеров (Chrome, Firefox, Safari, Opera, Edge) Набор красивых и живых баннеров  
      Дополнительные услуги: 
      Установка и настройка шаблона - 400руб. Настройка хостинга и домена для вашего магазина - 400руб. Внедрение микроразметки (без модуля, вручную) - 1000руб. Оптимизация загрузки сайта - 700руб. Установка различных счетчиков и скриптов (Google Analytics, Yandex Metrika, JivoSite и т.д.) - 400руб.  
      В шаблоне присутствует модуль фильтра товаров “OCFilter”. Он не входит в стоимость шаблона. Купить можно тут 
       
       
      ВАЖНО!
      Шаблон изменяет стандартный common.js. Но это не значит, что у вас возникнут проблемы с установкой сторонних модулей. Все модули устанавливаются и работают 
       
       
      Лицензия:
      Шаблон можно использовать только на одном, основном домене (тестовые без ограничений). Любая перепродажа, выкладывание в публичный доступ и прочие действия подобного характера запрещены и являются нарушением авторских прав.
       
      Добавил Landistore Добавлено 08.12.2018 Категория Платные шаблоны Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Несовместим  
    • От Landistore
      Electro- адаптивный шаблон для интернет магазина электроники. Универсальная структура и палитра позволяют использовать данный шаблон в различных тематиках
       
      Демонстрация
      Магазин: Смотреть демо магазина
      Админка: Смотреть демо админки, доступ: demo / demo
       
      Совместимость
      Opencart 2.3 / OcStore 2.3
       
      Основой для данного шаблона послужила стандартная тема default и большое желание сделать хорошую основу для быстрого и успешного старта вашего интернет-магазина. 

      Что вы получаете вместе с шаблоном
      Архив с актуальной версией шаблона и файлами дополнительных модулей.  Бесплатные обновления, которые формируются на основе ваших отзывов и предложений по улучшению  Подробную документацию по установке и настройке шаблона в которой разберется практически каждый человек. Набор баннеров для магазина одежды Стили для модуля ocFilter 4.7.5
      Особенности шаблона:
      Простая установка Адаптивная вёрстка Поддержка мультиязычности Три вида отображения товаров: список, список цен, сетка Добавлен вывод СЕО текста Наличие HTML баннеров (не картинка) Добавлено несколько вариаций "Сервиса" Стильные иконки от Stroke icons 7 Современные шрифты Установлена последняя версия Owl Carousel Заменен Magnific Popup на LightBox Удобное меню в мобильной версии (сайдбар) Реализовано дополнительное меню в моб. версии для быстрого доступа к корзине, товарам в сравнении, закладках Модуль “Стена категорий” Реализована смена изображений товара при наведении Реализован вывод изображений дочерних категорий реализован вывод ссылки "Товары в сравнении" в шапке Добавлен вывод процента скидки товара Реализован вывод номера телефона в шапке и подвале Реализован вывод email в шапке и подвале Реализован вывод времени работы магазина Добавлены ссылки на социальные сети в подвале (менять через код) Добавлено окно “cookies” Добавлены кнопки “Плюс/Минус” на странице товара Добавлена кнопка “Вверх” Пересобрана страница с производителями Пересобран личный кабинет покупателя Оптимизированный и структурированный код Поддержка разных браузеров (Chrome, Firefox, Safari, Opera, Edge) Набор красивых и живых баннеров  
      Дополнительные услуги: 
      Установка и настройка шаблона - 400руб. Настройка хостинга и домена для вашего магазина - 400руб. Внедрение микроразметки (без модуля, вручную) - 1000руб. Оптимизация загрузки сайта - 700руб. Установка различных счетчиков и скриптов (Google Analytics, Yandex Metrika, JivoSite и т.д.) - 400руб.  
      В шаблоне присутствует модуль фильтра товаров “OCFilter”. Он не входит в стоимость шаблона. Купить можно тут 
       
       
      ВАЖНО!
      Шаблон изменяет стандартный common.js. Но это не значит, что у вас возникнут проблемы с установкой сторонних модулей. Все модули устанавливаются и работают 
       
       
      Лицензия:
      Шаблон можно использовать только на одном, основном домене (тестовые без ограничений). Любая перепродажа, выкладывание в публичный доступ и прочие действия подобного характера запрещены и являются нарушением авторских прав.
       
    • От ipit319
      Необходимо установить (настроить) фильтр на главной странице сайта www.poodshop.ru. 
      т.е. 
      Выбор категории поиска (Все или конкретно) 
      Атрибут 1 значение от и до 
      Атрибут 2 значение от и до 
      Атрибут 3 значение от и до 
      Кнопка поиск 
      Выбор дополнительных параметров, остальные атрибуты - задание галочками
      Необходимо  использовать фильтр с возможностью установки значения условий поиска в категории как слайдером так и в ручную (ввод цифр в окошко)!
    • От theplastique
      1 499.00 руб
      Скачать/Купить дополнение


      TopAuto - адаптивный шаблон интернет магазина автозапчастей и автотоваров
      Каждому купившему шаблон мы гарантируем БЕСПЛАТНУЮ консультацию и поддержку. Ежедневно мы работаем над пакетным улучшением шаблона, по этому не исключено, что стоимость шаблона будет увеличиваться. Для тех кто купил шаблон обновления бесплатно, без зависимости за какую сумму он приобрел шаблон у нас.
      Стоимость шаблона 1499 руб (первый месяц продаж, после будет подорожание)
      Лицензия: Шаблон реализуется по принципу "1 покупатель – 1 домен".
      Демо главной страницы
      Демо страницы категории
      Демо страницы товара
      Демо админпанели (логин и пароль demo)
       
      TopAuto - универсальное решение для интернет магазинов автомобильной тематики. 3 различных варианта оформления, и гибкая настройка темы позволяют создать интернет магазин автозапчастей и других товаров автомобильной тематики соответствующий вашим требованиям.
      Адаптивная и кроссбраузерная верстка присутствует, по этому ваш сайт будет корректно отображаться на всех устройствах и браузерах.
       
      Помимо стандартного функционала opencart шаблон обладает рядом преимуществ:
      3 стиля шаблона (вы покупаете 3 шаблона по цене одного): 2 варианта меню (горизонтальное и вертикальное) Гибкая настройка шапки и подвала сайта: Модуль категорий с расширенным функционалом; Модуль слайдшоу; Модуль информационные блоки; Модуль подписка на новости; 3 варианта  



      Добавил theplastique Добавлено 24.10.2018 Категория Платные шаблоны Системные требования Сайт разработчика Старая цена 2499 Метод активации По запросу в ЛС
      По запросу на почту
      По скайпу
      По емейлу Ioncube Loader Требуется OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop  
    • От theplastique
      Каждому купившему шаблон мы гарантируем БЕСПЛАТНУЮ консультацию и поддержку. Ежедневно мы работаем над пакетным улучшением шаблона, по этому не исключено, что стоимость шаблона будет увеличиваться. Для тех кто купил шаблон обновления бесплатно, без зависимости за какую сумму он приобрел шаблон у нас.
      Стоимость шаблона 1499 руб (первый месяц продаж, после будет подорожание)
      Лицензия: Шаблон реализуется по принципу "1 покупатель – 1 домен".
      Демо главной страницы
      Демо страницы категории
      Демо страницы товара
      Демо админпанели (логин и пароль demo)
       
      TopAuto - универсальное решение для интернет магазинов автомобильной тематики. 3 различных варианта оформления, и гибкая настройка темы позволяют создать интернет магазин автозапчастей и других товаров автомобильной тематики соответствующий вашим требованиям.
      Адаптивная и кроссбраузерная верстка присутствует, по этому ваш сайт будет корректно отображаться на всех устройствах и браузерах.
       
      Помимо стандартного функционала opencart шаблон обладает рядом преимуществ:
      3 стиля шаблона (вы покупаете 3 шаблона по цене одного): 2 варианта меню (горизонтальное и вертикальное) Гибкая настройка шапки и подвала сайта: Модуль категорий с расширенным функционалом; Модуль слайдшоу; Модуль информационные блоки; Модуль подписка на новости; 3 варианта  



  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.