Код: Выделить всё
UPDATE ok_variants SET sku = concat('100', id);
Устанавливает значение артикула варианта товара путем объединения 100 и айди варианта. Это просто пример. Вы можете формировать артикул по-своему.Julius123 писал(а):Можете пожалуйста разъяснить что именно в БД делает этот запрос?makki писал(а):Делается одним запросом в базу данных, например:
Вы правы, вопрос был чтобы формировать артикул автоматически. Например у каждого товара формируется айди, и этот же айди писать в БД поле артикулаmakki писал(а):Устанавливает значение артикула варианта товара путем объединения 100 и айди варианта. Это просто пример. Вы можете формировать артикул по-своему.Julius123 писал(а):Можете пожалуйста разъяснить что именно в БД делает этот запрос?
Возможно это не то, о чем вы спрашивали, поскольку как я понял, вы хотели чтобы артикул генерировался автоматически. Но это уже требует программирования.
Код: Выделить всё
$variant_id = $this->db->insert_id();
Код: Выделить всё
if(empty($variant->sku)) {
$this->db->query("UPDATE __variants SET sku=substring(concat ('000000',id),-5) WHERE id=?", $variant_id);
}
makki писал(а):api/Variants.php
Без понятияВладимир писал(а):makki писал(а):api/Variants.php
А где находиться этот файл в 3.8.1 версии ? Как на этой версии реализовать это ?
Спасибо, все работает. Но как быть с сотнями уже добавленных вариантов без артикула? Можно ли сгенерировать запросом в БД всем уже добавленным вариантам в таком же формате? Желательно перезаписать и уже заполненные артикулы, чтобы все были в одном формате.makki писал(а):В результате, например если id варианта 145, артикул получится 000145
Выполните этот SQL запросJulius123 писал(а):Спасибо, все работает. Но как быть с сотнями уже добавленных вариантов без артикула? Можно ли сгенерировать запросом в БД всем уже добавленным вариантам в таком же формате? Желательно перезаписать и уже заполненные артикулы, чтобы все были в одном формате.
Код: Выделить всё
UPDATE __variants SET sku=substring(concat ('000000',id),-5)
makki писал(а):Выполните этот SQL запросJulius123 писал(а):Спасибо, все работает. Но как быть с сотнями уже добавленных вариантов без артикула? Можно ли сгенерировать запросом в БД всем уже добавленным вариантам в таком же формате? Желательно перезаписать и уже заполненные артикулы, чтобы все были в одном формате.Код: Выделить всё
UPDATE __variants SET sku=substring(concat ('000000',id),-5)
Код: Выделить всё
UPDATE ok_variants SET sku=substring(concat ('000000',id),-5)
Вернуться в «Вопросы по работе с OkayCMS»
Сейчас этот раздел просматривают: 24 гостя