У меня есть проблема, с которой я сталкиваюсь, я выбираю маленький размер, и у меня есть 2 цвета в маленьком размере, если я выбираю размер, а его вариант цвета выбирается первым, но когда я выбираю второй, выбор одной стороны исчезает, как я могу выбрать или показать цвет от имени размеров в продуктах ..
<?php
$none = isset($d_none) ? $d_none : '';
$attr_check = false;
$product_id = $record->id;
if ($record->parent_id == 0) {
$parent_check = "products.id = '$product_id' OR products.parent_id = '$product_id'";
} else {
$parent_check = "products.id = '$record->parent_id' OR products.parent_id = '$record->parent_id'";
}
$sql = "SELECT
products.parent_id,
products.id,
products.title,
products.slug AS p_ids,
products_attributes_groups.title as `type`,
products_attributes_values.title as `value`,
products_attributes_values.color_code,
products_attributes.sku
FROM products
INNER JOIN products_attributes
ON products.id = products_attributes.products
LEFT JOIN products_attributes_values
ON products_attributes.value = products_attributes_values.id
LEFT JOIN products_attributes_groups
ON products_attributes.groups = products_attributes_groups.id
WHERE (" . $parent_check . ") AND products.active=1 AND products.deleted=0 and products_attributes_values.title != '' and products_attributes_groups.id = 1 group by products_attributes_values.title order by products_attributes_groups.title DESC";
$attr = $this->db->query($sql)->result();
if ($attr) {
$x = 1;
$type = 'size';
$attr_select = "<div class='form-group mx-3 my-1'><div style='display: none;' class='".$type."_tooltip col-12'></div><label class='mb-2'>$type</label><ul onchange='show_attr_product(this)' id='attr_$type' class='list-inline rounded-0'>";
foreach ($attr as $row) {
$selects = explode(',', $row->p_ids);
$attr_check = true;
if (in_array($record->slug, $selects)) {
if (isset($active)) {
$activate = $active;
} else {
$active = 'active';
if (in_array($record->slug, $selects)) {
$activate = $active;
} else {
$activate = '';
}
}
echo '<input type="hidden" id="prev_' . $row->type . '" value="' . $row->p_ids . '">';
$attr_select .= "<li sku='$row->sku' class='list-inline-item pt-1 product_box_" . $row->type . " add_border$row->id active_child $activate' onclick='show_attr_product(this)' title='$row->value' value='" . $row->p_ids . "' style=' background:#$row->color_code;'> $row->value</li>";
} else {
$attr_select .= "<li sku='$row->sku' class='list-inline-item pt-1 product_box_" . $row->type . " add_border$row->id active_child' onclick='show_attr_product(this)' value='" . $row->p_ids . "' title='$row->value' style=' background:#$row->color_code;'>$row->value</li>";
}
$x++;
}
$attr_select .= "</ul></div>";
echo $attr_check ? $attr_select : '';
}
Структура данных вариант продукта