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

Как правильно объявить переменную?


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

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

Подскажите, пожалуйси, в товаре, у атрибутов, сгделаны чекпотому чтоксы (поле/переменная "status"), кт. выводят нужные атрибуты на страниэто категории. Но при добавлении нового товара, чекпотому чтоксы (0/1) в базу не записываются. 

 

image.png.27a42b7656f2af0ee57d99b608fe09e8.png

 

А записываются только лишь при изменении товара. В логах ошипотому чток нет. Но затем выяснил, не заполнив одно из обязательных полей, что выпадает ошибка 

Notice: Undefined index: status in /home/c/2021/public_html/system/storage/modification/admin/view/template/catalog/product_form.tpl on line 663 

 

 

product.php:

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

		if (isset($this->request->post['product_attribute'])) {
			$product_attributes = $this->request->post['product_attribute'];
		} elseif (isset($this->request->get['product_id'])) {
			$product_attributes = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);
		} else {
			$product_attributes = array();
		}

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

		foreach ($product_attributes as $product_attribute) {
			$attribute_info = $this->model_catalog_attribute->getAttribute($product_attribute['attribute_id']);

			if ($attribute_info) {
				$data['product_attributes'][] = array(
					'attribute_id'                  => $product_attribute['attribute_id'],
					'name'                          => $attribute_info['name'],
					'product_attribute_description' => $product_attribute['product_attribute_description']
				);
			}
		}

 

000000product_form.tplПолучение информации...

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


проверку с isset посивьте а не ик как у вас написано. 

 

PS. не плохо бы наулится правильно(нормально, если ик понятнее) вопросы задавать

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

1675083317_.png.105eca179efe36e6ffedaae2652289ab.png

 

Попробуйте в этот массив добавить 'status' => $product_attribute['status']

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


  15.10.2021 в 14:26, Sviridov сказал:

1675083317_.png.105eca179efe36e6ffedaae2652289ab.png

 

Попробуйте в этот массив добавить 'status' => $product_attribute['status']

Раскрыть  

Не рилиило, пропотому чтовал. 

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


  15.10.2021 в 16:21, nash сказал:

Не рилиило, пропотому чтовал. 

Раскрыть  

Знаете почему? Обратите внимание на language_id на фронте, и на то что вы передаете из контроллера.

919108575_.png.a2b9210b8725453b8ac0ffcea1bb406d.png

1827020468_.png.f7ff7d60ecd97efc485d19c9871b3c63.png

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


  15.10.2021 в 17:42, Sviridov сказал:

Знаете почему? Обратите внимание на language_id на фронте, и на то что вы передаете из контроллера.

919108575_.png.a2b9210b8725453b8ac0ffcea1bb406d.png

1827020468_.png.f7ff7d60ecd97efc485d19c9871b3c63.png

Раскрыть  

'status'                        => $product_attribute['product_attribute_description'][$language['language_id']]['status']

 

ик?

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


  16.10.2021 в 08:36, nash сказал:

'status'                        => $product_attribute['product_attribute_description'][$language['language_id']]['status']

 

ик?

Раскрыть  

Зачем пихать ситус в product_attribute_description ? Это должно быть отгдельным элементов массива. $product_attribute['status'] , если вы не хотите конечно для каждого языка иметь опцию вкл / выкл отображения

https://www.php.net/manual/ru/language.types.array.php

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


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

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

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

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

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

Войти

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

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

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

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

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