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

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


nash

Recommended Posts

Подскажите, пожалуйста, в товаре, у атрибутов, сделаны чекбоксы (поле/переменная "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 

 

image.thumb.png.21cef1a62cad0a493d632f1889f48360.png

 

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
Надіслати
Поділитися на інших сайтах


1 час назад, Sviridov сказал:

1675083317_.png.105eca179efe36e6ffedaae2652289ab.png

 

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

Не работало, пробовал. 

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


1 час назад, nash сказал:

Не работало, пробовал. 

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

919108575_.png.a2b9210b8725453b8ac0ffcea1bb406d.png

1827020468_.png.f7ff7d60ecd97efc485d19c9871b3c63.png

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


14 часов назад, Sviridov сказал:

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

919108575_.png.a2b9210b8725453b8ac0ffcea1bb406d.png

1827020468_.png.f7ff7d60ecd97efc485d19c9871b3c63.png

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

 

так?

Змінено користувачем nash
Надіслати
Поділитися на інших сайтах


1 час назад, 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
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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