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

Передача переменной в twig шаблон


prukon

Recommended Posts

Добрый день. 

Есть шаблон product.twig

В этом шаблоне используется переменная  stock_status

В этом можно легко убедится. Я это делаю вот так (вижу на экране значение переменной):

<pre>

{{stock_status}}

</pre>

 

Есть также шаблон category.twig

В этом шаблоне НЕ используется переменная  stock_status

В этом я убеждаюсь, вызывая код выше (вижу пустоту).

 

Пожалуйста подскажите, в каком файле выполняется передача переменной в конкретный шаблон? Мне надо в шаблон category.twig передать эту переменную. 

Заранее спасибо.

 

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


  В 08.04.2018 в 11:20, chukcha сказав:

контроллер product/category
$data['products']

Expand  

 

 

В контроле встретил вот такой перебор:

 

			foreach ($results as $result) {
				if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
				} else {
					$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
				}

				if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
					$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
				} else {
					$price = false;
				}

				if ((float)$result['special']) {
					$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
				} else {
					$special = false;
				}

				if ($this->config->get('config_tax')) {
					$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
				} else {
					$tax = false;
				}

				if ($this->config->get('config_review_status')) {
					$rating = (int)$result['rating'];
				} else {
					$rating = false;
				}

				$data['products'][] = array(
					'product_id'    => $result['product_id'],
					'thumb'         => $image,
					'name'          => $result['name'],
					'description'   => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
					'price'         => $price,
					'special'       => $special,
					'tax'           => $tax,
					'minimum'       => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'        => $result['rating'],
					'href'          => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)

                    //мой код
                    'stock_status'  =>???;
                    //мой код
                );
			}

 

Подскажите, что мне нужно записать между моим комментарием, чтобы в twig шаблон передать {{stock_status}} ?

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


'href'        => $this->url->link('product/product', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url),
					'stock_status' => $result['stock_status']

Специально захватил строчку с href, т.к. в конце Вы забыли запятую.

 

В шаблоне: {{ product.stock_status}}

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


  В 09.04.2018 в 09:28, PeterStudio сказав:
'href'        => $this->url->link('product/product', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url),
					'stock_status' => $result['stock_status']

Специально захватил строчку с href, т.к. в конце Вы забыли запятую.

 

В шаблоне: {{ product.stock_status}}

Expand  

К сожалению не помогло. 

 

Контроллер.

  Показати вміст

 

 

Шаблон (без pre тоже ничего не выводит)

  Показати вміст

 

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


  В 09.04.2018 в 17:46, prukon сказав:

К сожалению не помогло. 

Expand  

Не надо так говорить, это как оскорбление.

Код рабочий 100%, ищите ошибку у себя.

И только не говорите, что не сбросили кэш.

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


  Цитата

Не надо так говорить, это как оскорбление.

Expand  

 

Ни в коем случае. Я уважительно отношусь к людям, тем более к тем, кто помогает в решении задач.

 

 

  Цитата

 

И только не говорите, что не сбросили кэш.

 


 

Expand  
 
Кэш я сбросил. Я вообще подозреваю, что контроллер не влияет на работу шаблона. Я его полностью комментировал, сбрасываю кэш, а страница отрисовывается как в ни в чем не бывало. 
Надіслати
Поділитися на інших сайтах


 

  Цитата

 

Удалите контроллер, если будет работать, то это значит не то и не там.

 

 

 

 

Expand  
 
Удалил файл контроллера - на странице перестали выводится товары.
А когда захожу в файл и полностью удаляю его содержимое - на странице все выводится без изменений.
Змінено користувачем prukon
Надіслати
Поділитися на інших сайтах


  В 10.04.2018 в 14:09, chukcha сказав:

потому что нужно еще обновлять можификаторы

Expand  

 

Да, после чистки модификаций на странице не выводятся товары. Контроллер определенно влияет на работу.  

Но вот только stock_status не выводится. Подскажите, в чем может быть дело?  

Я сделал все как описано выше.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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