Ihor Mandziuk
- 2 хв читання
Переглядаючи різні , ви не можете пропустити продукти для завантаження. Як випливає з назви, це цифрові продукти, які можна завантажити — книги, програмне забезпечення, відео тощо. Цей тип контенту стає все більш популярним у наші дні. Як результат, ви можете отримати велику користь від їх розміщення в каталозі вашого магазину.
через адміністративну панель може бути досить складним, оскільки вимагає багато кроків. На щастя, існує програмний спосіб оптимізувати цей процес.
Наступний код допоможе вам створити продукт для завантаження в Magento 2 програмно:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get(\Magento\Framework\App\State::class);
$state->setAreaCode('frontend');
try {
$product = $objectManager->create(\Magento\Catalog\Api\Data\ProductInterface::class);
$product
->setSku('sku')ihor
- 2 хв читання
На відміну від інших , віртуальні продукти не мають фізичного представлення. Це можуть бути подарункові картки, послуги, сертифікати, гарантії тощо.
Використання адміністративної панелі для - не єдиний спосіб. Ви також можете шукати альтернативи. У цьому випадку ви можете спробувати створити віртуальний продукт програмно, і в цій статті ви дізнаєтеся, як це зробити.Щоб створити віртуальний продукт у Magento 2 програмно:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get(\Magento\Framework\App\State::class);
$state->setAreaCode('frontend');
try {
$product = $objectManager->create(\Magento\Catalog\Api\Data\ProductInterface::class);
$product
->setSku('Main Virtual') // Set your sku here
->setName('Virtual Color Product') // Name of Product
->setAttributeSetId(4) // Attribute set id
->setStatus(1)ihor
- 3 хв читання
Наявність кількох , перелічених у каталозі вашого магазину, допомагає зробити досвід клієнтів у вашому магазині більш різноманітним. Одним з багатьох варіантів, які ви можете запропонувати, є . По суті, він складається з простих та віртуальних продуктів, які можна налаштувати відповідно до вподобань клієнта. Клієнти можуть вибрати розмір, вагу, колір тощо, щоб отримати саме той продукт, який їм подобається.
Хоча ви можете створювати пакетні продукти з панелі адміністратора, створення пакетних продуктів програмно набагато швидше. Тож у цій статті ви дізнаєтеся, як це зробити.
Використовуйте наведений нижче метод для програмного створення пакетного продукту в Magento 2.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get(\Magento\Framework\App\State::class);
$state->setAreaCode('frontend');ihor
- 1 хв читання
Згруповані товари – це лише один із багатьох . Їхня особливість полягає в тому, що вони складаються з простих товарів, які можна придбати окремо або групою. Більше того, згруповані товари не мають ціни, оскільки вона визначається їхніми складовими.
Звичайно, ви можете скористатися адміністративною панеллю. Однак, можливо, ви також шукаєте програмний спосіб виконання цього завдання.
Якщо ви хочете знати, як створювати згруповані товари програмно, ви потрапили на потрібну сторінку.
Щоб створити згрупований товар у Magento програмно, використовуйте наступний код:
<?php error_reporting(E_ALL);ini_set('display_errors', 1); use Magento\Framework\App\Bootstrap; require __DIR__ . '/app/bootstrap.php'; $bootstrap = Bootstrap::create(BP, $_SERVER); $objectManager = $bootstrap->getObjectManager(); $state = $objectManager->get(\Magento\Framework\App\State::class);$state->setAreaCode('frontend'); try { $product = $objectManager->create(\Magento\Catalog\Api\Data\ProductInterface::class); $product->setTypeId(\Magento\GroupedProduct\Model\Product\Type\Grouped::TYPE_CODE)ihor
- 3 хв читання
Під час роботи з Magento 2 ви виконуєте широкий спектр завдань, від до налаштування індексаторів та запуску . Magento CLI – це корисний інструмент, який не тільки дозволяє виконувати різноманітні операції, але й спрощує розробку Magento загалом.
Однак, ви можете бути перевантажені, виконуючи одні й ті ж команди знову і знову. Саме тоді знадобляться скорочення команд Magento 2.
Дивно, але багато розробників не знають про це. Тому в цьому посібнику ми зібрали скорочення команд та для вашої зручності.
SSH
Повна команда
Скорочення
php bin/magento list
php bin/magento l
Кеш
Повна команда
Скорочення
php bin/magento cache:clean
php bin/magento c:c
php bin/magento cache:enable
php bin/magento c:e
php bin/magento cache:disable
php bin/magento c:d
php bin/magento cache:flush
php bin/magento c:f
php bin/magento cache:status
php bin/magento c:s
Налаштування
Повна команда
Скорочення
php bin/magento setup:backup
php bin/magento se:b
php bin/magento setup:config:set
php bin/magento se:c:se
php bin/magentoihor
- 2 хв читання
Конфігуровані продукти безумовно виділяються у списку інших . Вони стають у пригоді, коли ви хочете запропонувати своїм клієнтам кілька варіантів продуктів.
За замовчуванням Magento 2 не дозволяє призначити існуючий існуючому з адміністративної панелі. Єдиний варіант — створити так званий заповнювач у конфігурації, а потім додати замість нього потрібний вам продукт.
Таке рішення насправді не є корисним, оскільки вимагає занадто багато зайвих кроків. Саме тому програмний спосіб виконання цього завдання може бути кориснішим.
Отже, щоб програмно додати простий продукт до налаштовуваного продукту в Magento 2, зверніться до методу нижче.
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$simple_product = $objectManager->create(\Magento\Catalog\Model\Product::class);
$simple_product->setSku('test-simple');
$simple_product->setName('test name simple');
$simple_product->setAttributeSetId(10);
$simple_product->setSize_general(193); // value id of S size
$simple_product->setStatus(1);ihor
- 1 хв читання
Хоча атрибут продукту є окремою характеристикою продукту, – це група цих характеристик, які визначають продукт. Ви будете використовувати атрибути продукту щоразу під час створення продуктів у Magento.
Якщо вам потрібно створити кілька атрибутів продукту, це зробити через панель адміністратора може зайняти багато часу. Тому, якщо вам потрібно зробити це швидко, створіть набір атрибутів у Magento 2 програмно.
Примітка: Перш ніж створювати набори атрибутів, вам потрібно створити атрибути продукту. Тому вам може знадобитися ознайомитися з нашим посібником щодо .
Використовуйте наступний код, щоб створити набір атрибутів програмно. Створіть файл InstallData.php у app/code/Vendor/Module/Setup/InstallData.php.
<?phpnamespace Vendor\Extension\Setup;
use Magento\Framework\Setup\InstallDataInterface;use Magento\Framework\Setup\ModuleContextInterface;use Magento\Framework\Setup\ModuleDataSetupInterface;use Magento\Catalog\Setup\CategorySetupFactory;use Magento\Eav\Model\Entity\Attribute\SetFactoryihor
- 2 хв читання
Атрибути продукту – це характеристики продукту, які допомагають вам пропонувати клієнтам широкий спектр варіантів та впливати на їхні рішення про покупку. Щойно ви , це ще не все. Ви також можете використовувати атрибути продукту для визначення , правил цін на кошик, та багатьох інших опцій.
З огляду на це, важливо знати, як створювати атрибути продукту в Magento програмно. Про всяк випадок, якщо вам потрібно буде швидше створити кілька атрибутів.
Щоб створити атрибути продукту в Magento програмно, створіть файл InstallData.php у app/code/Vendor/Module/Setup/InstallData.php.
<?phpnamespace Vendor\Module\Setup;
use Magento\Eav\Setup\EavSetupFactory;use Magento\Framework\Setup\InstallDataInterface;use Magento\Framework\Setup\ModuleContextInterface;use Magento\Framework\Setup\ModuleDataSetupInterface;
class InstallData implements InstallDataInterface{ private $eavSetupFactory;
public function __construct(EavSetupFactory $eavSetupFactory) { $this->eavSetupFactory = $eavSetupFactory;ihor
- 1 хв читання
Супутні товари – один із найпоширеніших способів збільшення продажів в електронній комерції. Щоб збільшити середню вартість замовлення, вам потрібно вручну або автоматично через . Але є ще один спосіб. Ви можете отримати колекцію супутніх товарів у Magento програмно.
Тож, якщо ви хочете уникнути монотонного ручного налаштування супутніх товарів у Magento, продовжуйте читати.
Щоб отримати колекцію супутніх товарів у Magento 2:
1. Створіть файл Extension.php у папці app/code/Vendor/Extension/Block .
<?phpnamespace Vendor\Extension\Block;
use Magento\Framework\View\Element\Template;use Magento\Backend\Block\Template\Context;use Magento\Framework\Registry;
class Extension extends Template{ protected $registry; public function __construct( Context $context, Registry $registry, array $data = [] ) { $this->registry = $registry; parent::__construct($context, $data); } public function _prepareLayout() { return parent::_prepareLayout(); } public function getCurrentProduct() { return $this->registry->registry('current_product');}ihor
- 2 хв читання
У цій статті ми описуємо запити GraphQl для отримання необхідних даних автоматично пов'язаних правил для прогресивного веб-додатку (PWA). Щоб реалізувати резолвер GraphQL, вам потрібно встановити .
Крім того, ви можете легко перевірити ці запити за допомогою розширення ChromeiQL для браузера Chrome.
Запит на правило пов'язаного продукту GraphQL
За допомогою цього запиту ви отримаєте всі пов'язані продукти, використовуючи ідентифікатор правила (продукти, що підпадають під умови правила).
Запит:
query mfAutoRelatedProducts ($ruleId: Int $productId: Int $categoryId: Int $pageSize: Int $currentPage: Int) {
mfAutoRelatedProducts(
ruleId: $ruleId
productId: $productId
categoryId: $categoryId
pageSize: $pageSize
currentPage: $currentPage
){
total_count
items{
products{
id
name
sku
}
category_ids{
category_id
}
customer_group_ids{
group_id
}
store_ids{
store_id
}
id
name
description
status
priority
block_position
merge_type
from_one_category_only
only_with_higher_price
only_with_lower_priceihor
