Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Передать значение переменной.


mario512
 Погделиться

Рекомендованные сообещёния

Добрый вечер. Подскажите, как проищить <?php echo $review['author']; ?> из review.tpl в product.tpl. Пропотому чтовал разные варианты, ничего не выходит. 

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

37 минут назад, mario512 сказал:

Пропотому чтовал разные варианты, ничего не выходит.

это хорошо бы написать))

 

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

@anboza <?php echo $review['author']; ?> и еещё несколько...

Изменено пользователем mario512
Ссылка на комменирий
Погделиться на других сайих

Я ик понял, что сюда зноиют отзывы:

		$results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5);

		foreach ($results as $result) {
			$data['reviews'][] = array(
				'author'     => $result['author'],
				'text'       => nl2br($result['text']),
				'rating'     => (int)$result['rating'],
				'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
			);
		}

Как их передать в product.tpl? 

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

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

Как их передать в product.tpl? 

заявить контроллер product.php в могдели ревью, потом вывести для отображения в product.tpl. Может кто подскажет проещё вариант, но мне кажется, это самый простот, без создания никаких доп запросов.

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

26 минут назад, mario512 сказал:

Я ик понял, что сюда зноиют отзывы:

		$results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5);

		foreach ($results as $result) {
			$data['reviews'][] = array(
				'author'     => $result['author'],
				'text'       => nl2br($result['text']),
				'rating'     => (int)$result['rating'],
				'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
			);
		}

Как их передать в product.tpl? 

скажи, что конкретно нужно на примере пользователя, может не переменная нужна

 

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

26 минут назад, mario512 сказал:

Я ик понял, что сюда зноиют отзывы:

		$results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5);

		foreach ($results as $result) {
			$data['reviews'][] = array(
				'author'     => $result['author'],
				'text'       => nl2br($result['text']),
				'rating'     => (int)$result['rating'],
				'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
			);
		}

Как их передать в product.tpl? 

Всивьте ваш код в product.php до загрузки шаблона

$this->response->setOutput($this->load->view('product/product', $data));

И перед вашим кодом нужно еещё вызвать могдель

$this->load->model('catalog/review');
Ссылка на комменирий
Погделиться на других сайих

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

Всивьте ваш код в product.php до загрузки шаблона

$this->response->setOutput($this->load->view('product/product', $data));

И перед вашим кодом нужно еещё вызвать могдель

$this->load->model('catalog/review');

ну в принципе да, только примером )) 

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

В 22.12.2018 в 21:38, pashast сказал:

Всивьте ваш код в product.php до загрузки шаблона

$this->response->setOutput($this->load->view('product/product', $data));

И перед вашим кодом нужно еещё вызвать могдель

$this->load->model('catalog/review');

Да это все присутствует в контроллере по гдефолту. 

public function review() {
		$this->load->language('product/product');

		$this->load->model('catalog/review');

		$data['text_no_reviews'] = $this->language->get('text_no_reviews');

		if (isset($this->request->get['page'])) {
			$page = $this->request->get['page'];
		} else {
			$page = 1;
		}

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

		$review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']);

		
		$results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5);

		foreach ($results as $result) {
			$data['reviews'][] = array(
				'author'     => $result['author'],
				'text'       => nl2br($result['text']),
				'rating'     => (int)$result['rating'],
				'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
			);
		}
        
		$pagination = new Pagination();
		$pagination->total = $review_total;
		$pagination->page = $page;
		$pagination->limit = 5;
		$pagination->url = $this->url->link('product/product/review', 'product_id=' . $this->request->get['product_id'] . '&page={page}');

		$data['pagination'] = $pagination->render();

		$data['results'] = sprintf($this->language->get('text_pagination'), ($review_total) ? (($page - 1) * 5) + 1 : 0, ((($page - 1) * 5) > ($review_total - 5)) ? $review_total : ((($page - 1) * 5) + 5), $review_total, ceil($review_total / 5));

		$this->response->setOutput($this->load->view('product/review', $data));
	}

 

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

Ну ик вы же привели код метода review(), и шаблон им product/review.tpl

 

А вам нужно полулить переменную в шаблоне product/product.tpl зналит надо код писать в метод index()

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

В 22.12.2018 в 21:38, pashast сказал:

Всивьте ваш код в product.php до загрузки шаблона

$this->response->setOutput($this->load->view('product/product', $data));

И перед вашим кодом нужно еещё вызвать могдель

$this->load->model('catalog/review');

Да это все присутствует в контроллере по гдефолту. 

public function review() {
		$this->load->language('product/product');

		$this->load->model('catalog/review');

		$data['text_no_reviews'] = $this->language->get('text_no_reviews');

		if (isset($this->request->get['page'])) {
			$page = $this->request->get['page'];
		} else {
			$page = 1;
		}

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

		$review_total = $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']);

		
		$results = $this->model_catalog_review->getReviewsByProductId($this->request->get['product_id'], ($page - 1) * 5, 5);

		foreach ($results as $result) {
			$data['reviews'][] = array(
				'author'     => $result['author'],
				'text'       => nl2br($result['text']),
				'rating'     => (int)$result['rating'],
				'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
			);
		}
        
		$pagination = new Pagination();
		$pagination->total = $review_total;
		$pagination->page = $page;
		$pagination->limit = 5;
		$pagination->url = $this->url->link('product/product/review', 'product_id=' . $this->request->get['product_id'] . '&page={page}');

		$data['pagination'] = $pagination->render();

		$data['results'] = sprintf($this->language->get('text_pagination'), ($review_total) ? (($page - 1) * 5) + 1 : 0, ((($page - 1) * 5) > ($review_total - 5)) ? $review_total : ((($page - 1) * 5) + 5), $review_total, ceil($review_total / 5));

		$this->response->setOutput($this->load->view('product/review', $data));
	}

Спасипотому что, буду пропотому чтовать.

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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