Цілком можливо, що наш онлайн-каталог ще не оновлено. У нас є широка мережа інгредієнтів, і наша команда поставок буде рада розглянути будь-який запит щодо інгредієнтів.
Завантажувані продукти в Magento 2 не мають фізичної форми і практично не потребують керування. Вам не потрібно займатись виробництвом, публікацією та доставкою. І саме це робить завантажувані товари настільки популярними.
У Magento 2, окрім створення завантажуваного продукту, вам потрібно налаштувати загальні завантажувані опції продукту (Downloadable Product Options).
Для налаштування параметрів продуктів, що завантажуються, у Magento 2 виконайте такі дії:
Підіть в Stores > Configuration > Catalog > Catalog і знайдіть розділ Downloadable Product Options.
Виберіть Order Item Status to Enable Downloads, який визначає, яким повинен бути статус замовлення (Invoiced або Pending), щоб користувач міг завантажити продукт.
Задайте Default Maximum Number of Downloads, кількість завантажувань доступних користувачеві за замовчуванням після того як він купить завантажуваний продукт.
Виберіть, чи хочете ви, щоб завантажуваний продукт був поширюваним (Shareable), що означає, що користувачі отримуватимутьihor
Додаючи кастомні опції (custom options) для продукту в Magento 2, ви надаєте своїм користувачам можливість вибирати різні варіанти продукту відповідно до своїх потреб, не покладаючись на .
Кастомні опції дозволяють вам поділити продукти на категорії, створити та .
Наступні кроки для налаштування custom options продукту в Magento 2:
1. Підіть в Catalog > Products та виберіть продукт для якого ви хотіли б налаштувати customizable options або натисніть кнопку Add New Product.
Примітка: ви не можете налаштувати кастомні опції в Magento 2 для простих продуктів , які вже є частиною конфігураційного продукту.
2. Прокрутіть вниз до розділу Customizable Options та натисніть кнопку Add Option.
Задайте Option Title та Type.
Поставте галочку в полі Required якщо ви хочете, щоб ця опція була обов'язковою для вибору.
Примітка: якщо ви поставите галочку навпроти опції, користувачі обов'язково повинні будуть вибрати щось із запропонованих варіантів.
3. Задайте Option Values.
Введіть Title опції.
Вкажітьihor
У ми продемонстрували, як створити нові таблиці у базі даних Magento 2. З цієї статті ви дізнаєтеся про моделі для роботи з даними бази даних, які дозволять читати, редагувати та видаляти дані.
Magento 2 і Magento 1 для цих цілей використовує Model/ResourceModel/Collection ORM (Object-relational mapping). Для реалізації такої концепції необхідно створити 3 файли (модель, ресурс модель, колекцію).
1. Створіть файл моделі (Model):
app/code/VendorName/ModuleName/Model/Somemodel.php
помістіть у нього код:
<?php
namespace VendorName\ModuleName\Model;
class Somemodel extends \Magento\Framework\Model\AbstractModel{ protected function _construct() { $this->_init('VendorName\ModuleName\Model\ResourceModel\Somemodel'); }}
У _construct ініціалізується ресурс модель. Передаєте назву класу ресурс моделі (її створите у наступному кроці) у метод _init.
Модель (Model) - те, з чим ви найчастіше працюватимете. Цей клас необхідно унаслідувати від \Magento\Framework\Model\AbstractModelihor
Під час розробки інтернет-магазину на базі Magento 2, виникає задача розширення стандартного функціоналу Magento 2 або модулів Magento 2. Редагувати файли ядра Magento чи модулів недопустимо, тому що під час ці зміни будуть перезаписані. Отож, як внести зміни у storefront (frontend) файл темплейту, css, js?
УВАГА! Подані нижче інструкції не можна застовувати для переписування layout-файлів.
Переписування view-файлів модуля у папці app/code
Нехай потрібно змінити файл:
app/code/Magefan/Blog/view/frontend/templates/post/view.phtml
Створіть його копію у папці теми зі шляхом:
app/design/frontend/ThemeVendor/themename/Magefan_Blog/templates/post/view.phtml
Внесіть необхідні зміни у щойно створений файл теми.
Якщо власна тема відсутня на вашій Magento інсталяції, створіть її.
Переписування view-файлів модуля у папці vendor
Нехай потрібно змінити файл:
vendor/magefan/module-blog/view/frontend/web/css/blog-custom.css
Створіть його копію у папці теми зі шляхом:
app/design/frontend/ThemeVendor/themename/Magefan_Blog/web/css/blog-custom.cssihor
Якщо у вашому магазині Magento 2 з’являється повідомлення про помилку "An element with a “root” ID already exists", це, швидше за все, пов'язано з третьостороннім розширенням, яке викликає методи для повторного відтворення сторінки (page re-rendering).
Виконайте наступні кроки, щоб виправити помилку "An element with a “root” ID already exists":
1. Знайдіть PHP-файл і рядок, що викидає помилку (throw an exception).
2. Відкрийте CLI (термінал), перейдіть до кореневого каталогу Magento і виконайте наступні команди, щоб знайти потріний файл:
grep vendor/ -re ' ID already exists'grep app/ -re ' ID already exists'
Ви отримаєте результат, схожий до цього:
vendor/magento/framework/Data/Form.php: 'An element with a "' . $elementId . '" ID already exists.'vendor/magento/framework/Data/Test/Unit/FormTest.php: $this->expectExceptionMessage('An element with a "1" ID already exists.');vendor/magento/framework/Data/Structure.php: new \Magento\Framework\Phrase('An element with a "%1" ID already exists.'ihor
Якщо ви хочете змінити тип атрибута продукту з випадаючого (dropdown) на текстовий (text) у Magento 2, все, що вам потрібно зробити, це запустити наступні SQL запити (будь-ласка, зробіть резервну копію бази даних перед виконанням):
1. Цей запит змінить налаштування атрибута та перетворить його на текстовий (text) атрибут.
UPDATE eav_attribute SET backend_type = "varchar", frontend_input = "text", source_model = ""WHERE attribute_code = "MY_ATTRIBUTE_CODE";
2. Цей запит скопіює дані випадаючого (dropdown) атрибута до таблиці значень текстових (text) атрибутів та замінить ідентифікатори опцій (option IDs ) на їх фактичні назви.
INSERT INTO catalog_product_entity_varchar SELECT null as value_id, pei.attribute_id, pei.store_id, pei.entity_id, aov.value as value FROM catalog_product_entity_int pei LEFT JOIN eav_attribute_option ao ON pei.attribute_id = ao.attribute_id LEFT JOIN eav_attribute_option_value aov ON ao.option_id = aov.option_id WHERE pei.value IS NOT NULL AND pei.attribute_id = (SELECTihor
Іноді під час кастомізації Magento 2 вам потрібно програмно отримати інформацію про магазин. Вам, можливо, потрібно отримати поточне ID магазину, код магазину, назву, ID веб-сайту або .
Для отримання цих даних використовуйте одиничний екземпляр (singleton instance) наступного класу:
\Magento\Store\Model\StoreManagerInterface
Наприклад, ви можете додати його у свій конструктор класів, а потім викликати:
<?phpnamespace \MyCompany\ExampleModule\Model;class Example{ private $storeManager;
public function __construct(
...
\Magento\Store\Model\StoreManagerInterface $storeManager,
...
) { ...
$this->storeManager = $storeManager;
...
}
/** * Examples */ public function execute() { /* Get Current Store ID */ $storeId = $this->storeManager->getStore()->getId(); /* Get Current Store Code */ $storeCode = $this->storeManager->getStore()->getCode(); /* Get Current Store Name */ $storeName = $this->storeManager->getStore()->getName();ihor
Робота з URL у .phtml темплейт файлах
1. Отримання посилання на головну сторінку магазину (http://domain.com/):
<?= $this->getUrl() ?>
2. Отримання посилання на певну сторінку, для прикладу, "Contact Us" (http://domain.com/contacts/):
<?= $this->getUrl('contacts') ?>
3. Для отримання посилання на статичний файл теми, для прикладу:
app/design/frontend/ThemeVendor/theme_name/web/css/custom.cssapp/design/frontend/ThemeVendor/theme_name/Magefan_Blog/web/js/lazyload.jsapp/code/Magefan_Blog/view/frontend/web/js/lazyload.jsvendor/magefan/module-blog/view/frontend/web/js/lazyload.js
використовуйте код:
<?= $this->getViewFileUrl('css/custom.css') ?><?= $this->getViewFileUrl('Magefan_Blog::js/lazyload.js') ?>
4. Отримання посилання на статичний файл, що знаходиться у pub/media:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();$mediaUrl = $objectManager->get(Magento\Store\Model\StoreManagerInterface::class) ->getStore() ->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);ihor
Привіт, фанати Magento!
Давненько ми не ділились з вами оновленнями Magefan. Чи готові ви до січневої підбірки новин?
Давайте починати!
Ми хотіли б розпочати з нового модуля, який вийшов зовсім недавно. З розширенням Magento 2 Zero Downtime Deployment ви можете забути про поламаний веб-сайт та зростаючі bounce rates під час депройменту (deployment).
Вам не мусите втрачати прибуток або обирати найбільш незручний час для запуску команд депройменту, якщо за допомогою цього модуля ви можете виконувати їх без школи вашому веб-сайту.
Magento 2 WebP Images — розширення, яке допомагає збільшити швидкість завантаження вашого веб-сайту та підвищити продуктивність стало ще кориснішим. Ми покращили парсинг фону в атрибутах стилю HTM тегів та сумісність модулів із MGS темами. Більше того, ми виправили наступну помилку:
TypeError: strtolower() expects parameter 1 to be string, null given in app/code/Magefan/WebP/Plugin/Magento/Framework/View/Element/AbstractBlock.php:69 .
Ми настійно рекомендуємоihor
Одним з найпопулярніших типів продуктів, який Magento 2 пропонує створити є віртуальний продукт. Віртуальні продукти Magento 2 — це продукти, які ви не можете ніяк відчути. Це членства, сервіси, передплати та гарантії.
Вони можуть продаватися окремо або як частина або . За винятком того, що вони не мають ваги, немає особливої різниці між створенням та віртуального продуктів.
Наступні кроки для створення віртуальних продуктів у Magento 2:
1. Підіть в Catalog > Products та виберіть Virtual Product з випадаючого меню Add Product.
2. Ввімкніть або вимкніть віртуальний продукт.
3. Виберіть який Attribute Set додати до цього продукту.
Примітка: ви можете вибрати набір атрибутів за замовчуванням пропонований Magento, і вибрати один з варіантів, або ви можете або .
4. Вкажіть Product Name та SKU.
5. Задайте Price.
Ви можете налаштувати Advanced Pricing для віртуального продукту на випадок розпродажів, акцій чи будь-яких інших пропозиції.
Special Price це ціна, яку користувачі бачать під час розпродажівihor
Завантажувані продукти віднедавна стали дуже популярним типом продуктів у магазинах Magento 2, оскільки вони не потребують жодних додаткових процесів, таких як виготовлення, публікація чи доставка. Продається багато електронних книг, музики, відео, розширень Magento 2, оновлень та інструкцій з експлуатації.
Magento 2, крім інших типів продуктів, дозволяє створювати завантажувані продукти з безкоштовними зразками. Створення завантажуваних продуктів не сильно відрізняється від , за вийнятком того, що завантажуваний продукт не має ваги та кастомізованих опцій.
Проте, перед тим як створювати завантажувані продукти вам потрібно вказати опції доставки та опції завантажуваного продукту за замовчуванням в розділі Downloadable Product Options.
Читайте більше про те .
Наступні кроки для створення завантажуваного продукту в Magento 2:
1. Підіть в Catalog > Products та виберіть Downloadable Product з випадаючого меню Add Product.
2. Ввімкніть завантажуваний продукт.
3. Виберіть Downloadableihor
Якщо ви використовуєте деякі модулі Geo IP (наприклад, наші розширення Magento 2 Language та Currency Switcher ) та у вас встановлено Varnish, вам потрібно зробити деякі додаткові налаштування для нього.
Найпростіше налаштування – додати такі рядки до конфігураційного файлу varnish:
if (req.http.cookie !~ "PHPSESSID=" && req.http.User-Agent !~ "bot" && req.http.User-Agent !~ "loader") { return (pass); }
У цьому випадку перший візит клієнта не буде кешований varnish, php Magento згенерує відповідні файли cookie, переключиться на правильний вигляд магазину та змінить валюту.
Однак недоліком цього підходу є те, що вигляд магазину буде відображатися без кешу varnish під час першого відвідування. Якщо ви хочете уникнути цього, ви можете налаштувати кеш Varnish так, щоб він мав різні кеші для різних країн
. Для цього вам потрібно налаштувати Geo IP за допомогою Varnish. Перейдіть за цим посиланням для отримання покрокових інструкцій.
Magento 2 славиться тим, що дозволяє створювати різноманітні продукти. Збірний продукт (Magento 2 Bundle Product) — це унікальний тип продуктів Magento 2, оскільки він дозволяє користувачам налаштовувати атрибути продукту.
Багато з вас вважають збірні та згруповані (grouped) продукти схожими, і це справді так.
Однак у чому різниця між згрупованими та збірними продуктами в Magento 2?
Купляючи користувачі можуть додавати або видаляти продукти з групи (міняти кількість продуктів в групі). Збірні продукти, у свою чергу, складаються з та з налаштовуваними опціями.
напр. Якщо у вас є згрупований продукт, який складається зі спортивної сумки, уніформи та кросівок, користувачі можуть вибрати один предмет (сумку, форму або кросівки). У збірному продукті вони можуть вибрати SKU спортивної сумки та розмір форми або кросівок.
Простіше кажучи, збірні продукти — це згруповані продукти з конфігураційними параметрами. Збірний продукт ще називають "склади свій власний" продукт. Вибираючи між згрупованимиihor
Ніхто не хоче мати зламаний вебс-сайт під час , оскільки це відлякує потенційних клієнтів і змушує їх покидати веб-сайт. Зовсім не та перспектива, якої шукають власники успішних магазинів Magento 2.
На щастя, існує розширення Magento 2 Zero Downtime Deployment, яке виправляє це і зводить час простою до нуля. Воно дозволяє запускати deployment команди без поломки веб-сайту. Між іншим, ось список deployment команд, які потрібно виконати, щоб зменшити час простою до НУЛЯ.
Для того щоб повністю передепроїти Magento вам треба запустити цю команду
bin/magento magefan:zero-downtime:deploy
Щоб згенерувати налаштування введення коду та залежностей - (dependency injection configuration) (bin/magento setup:di:compile), використовуйте
bin/magento magefan:zero-downtime:deploy -d
Щоб виконати Magento static content (bin/magento setup:static-content:deploy) користуйтесь
bin/magento magefan:zero-downtime:deploy -s
Ви також можете запустити скрипт з кількома параметрами, використовуючи наступну командуihor
Magento 2 Zero Downtime Deployment — це розширення, яке вирішує ваші проблеми зі сторінками обслуговування 503 під час деплойменту. Воно запобігає поломці вашого веб-сайту і втраті потенційних клієнтів навіть під час запуску . Більше того, його справді легко налаштувати. Тож давайте розпочнемо.
Налаштуваня модуля Zero Downtime Deployment мають 4 секції: General, Instance Files and Folders, Composer та Git у яких є різні опції.
Наступні кроки для налаштування модуля Magento 2 Zero Downtime Deployment:
General
1. Підіть в Stores > Configuration > Magefan Extensions > Zero Downtime Deployment.
2. Ввімкніть модуль.
3. Виберіть опцію Static Content Deploy. Ви можете вибрати Deploy Only Enabled Themes або Deploy All Themes.
4. Визначте, скільки завдань потрібно обробляти паралельно під час розгортання статичного контенту в полі Count of Jobs For Parallel Processing Of Static Content Deploy.
5. Виберіть чи вмикати всі кеші після депройменту (Enable all Caches After Deploy), оскільки інодіihor
Якщо ви вирішили видалити розширення Magento 2 Zero Downtime Deployment, будь ласка, виконайте наступні кроки. Ви також можете зв'язатись з нашою командою для отримання безкоштовної консультації у випадку, якщо у вас виникнуть проблеми з розширенням Magefan.
Видалення файлів розширення
Інструкції щодо видалення файлів залежать від способу яким розширення було встановлено.
1. Якщо ви можете знайти файли розширення у папці
app/code/Magefan/ZeroDowntimeDeploy
тоді видаліть цю папку.
2. Якщо розширення було встановлено через композер та його файли знаходяться в папці
vendor/magefan/module-zero-downtime-deploy
тоді запустіть наступну композер команду CLI , щоб видалити її
composer remove magefan/module-zero-downtime-deploy
Після видалення файлів розширення запустіть ці CLI команди Magento:
php bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy
Примітка: якщо ви не хочете, щоб ваш веб-сайт був недоступнийihor
Якщо вам потрібно оновити розширення Magento 2 Zero Downtime Deployment від Magefan, будь ласка, виконайте наведені нижче дії.
Примітка: інструкції з оновлення залежать від методу, яким було встановлено розширення zero downtime deployment.
Оновлення через composer
Якщо модуль zero downtime deployment було встановлено через composer (перевірте чи існує папка vendor/magefan/module-zero-downtime-deploy), тоді вам потрібно запустити ці прості CLI команди в каталозі Magento 2:
composer remove magefan/module-zero-downtime-deploycomposer require magefan/module-zero-downtime-deploy ^x.x.x# замініть x.x.x на версію яку ви хочете використовуватиphp bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy
Примітка: якщо ви не хочете, щоб ваш веб-сайт був недоступний під час розгортання статичного контенту, спробуйте .
Оновлення через FTP
Якщо модуль zero downtime deployment було встановлено через FTP (перевірте чи існує папка app/code/Magefan/ZeroDowntimeDeploy)ihor
Ви можете встановити розширення Magento 2 Zero Downtime Deployment від Magefan через composer або архів.
Бажаєте, щоб ми встановили та налаштували для вас модуль Zero Downtime Deployment? Наші девелопери зроблять це замість ваc – перегляньте наш інсталяційний сервіс.
Встановлення через composer (рекомендовано)
Будь ласка, підіть в свій акаунт Magefan Account > My Downloads > Install via Composer, щоб отримати інсталяційні інcтрукції.
Встановлення через архів та FTP
Завантажте ZIP-архів розширення Zero Downtime Deployment на сайті magefan.com (не з GitHub або ж інших джерел).
Вилучіть файли.
Скопіюйте папку app та lib з архіву у свою папку Magento 2.
У командному рядку за допомогою "cd" перейдіть до кореневого каталогу Magento 2.
Запустіть команди CLI:
php bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy
Примітка: якщо ви не хочете, щоб ваш веб-сайт був недоступний під час розгортання статичного контенту, спробуйте .
Післяihor
Magento 2 grouped product is one of many the platform offers. As you might know, it features a set of different related simple products to increase the chances of customers buying more items.
In this case, every can be purchased either separately or as a group. However, every item is listed as a separate product in a shopping cart.
Оскільки згруповані товари Magento створювати відносно легко, ви дізнаєтеся всі необхідні кроки в цьому посібнику.
Щоб створити згруповані товари Magento:
1. Перейдіть до Каталог > Товари та виберіть Згрупований товар з випадаючого списку Додати товари .
2. Увімкніть згрупований товар та виберіть для нього набір атрибутів .
3. Введіть Назва продукту, вкажіть SKUта встановіть його Стан запасу.
Примітка: ви не можете встановити Ціну та Кількість , оскільки вони встановлюються окремо для кожного продукту групи.
4. Виберіть Категорію згрупованого продукту Magento.
5. Встановіть Видимість згрупованого продукту.
6. Введіть діапазон дат у полі Встановити продуктihor
Створювати конфігураційні продукти в Magento 2 означає створювати кілька різних варіацій одного і того ж . Оскільки конфігураційні продукти складаються з простих, які мають окремі SKU, вам зручніше відстежувати кожен простий продукт у складі конфігураційного.
Основна відмінність між конфігураційними та простими продуктами в Magento 2 полягає в тому, що перший має налаштовувані опції. Саме це робить конфігураційні продукти найпопулярнішим типом продуктів у Magento 2.
Отже, перед тим, як починати створювати конфігураційні продукти, переконайтеся, що ви створили конфігураційні та додали їх до відповідного .
напр. Ви можете створити настроюваний атрибут "Material" і додати його до набору атрибутів "Bags", щоб користувачі могли вибрати сумки з різних матеріалів
Як ми вже зазначили, конфігураційний продукт — це лише комбінація простих продуктів. Відповідно, для створення конфігураційного продукту потрібно заповнити ті самі поля, що й під час створення простого продукту, плюс розділ Configurationsihor
Magento 2 simple products are the most basic and essential Magento products. The simple product has no variations. It is sold individually since it has a single SKU. However, it can also be purchased as a part of a , or .
Наступні кроки для створення простого продукту в Magento 2:
1. Перейдіть до Каталог > Продукція і вибрати Простий продукт з Додати продукт випадаючий список.
2. Увімкнути або вимкнути простий продукт.
3. Виберіть Набір атрибутів you want this product to have. Magento provides the default attribute set. However, you are able to choose from various other options. Besides you can add a or a .
4. Встановіть Продукт Ім'я і Артикул.
5. Встановіть виріб Ціна.
Бувають випадки, такі як розпродажі, акції чи будь-які інші види пропозицій, коли вам потрібно встановити Розширене ціноутворення для продукту.
e.g. you might use it to or for configuring catalog price rules
Набір Спеціальна ціна, ціна, яку клієнт побачить під час розпродажів або за інших умов.
Оберіть спеціальну цінуihor