Місячний архів: Лютий 2021
- 3 хв читання
Кожен магазин наполегливо працює, щоб зробити своїх клієнтів задоволеними. Однак іноді трапляється, що люди хочуть повернути свої гроші. Це неминучий крок у .
У таких випадках люди запитують повернення коштів, яке в Magento називається Кредитне авізо .
. І в цій статті ви дізнаєтеся, що це таке і як його створити. Крім того, ви дізнаєтеся про рішення, яке допоможе вам позбутися повернених замовлень.
Що таке кредитне авізо в Magento 2?
Кредитне авізо Magento 2 – це документ, який визначає, скільки грошей буде повернуто клієнту. Спосіб створення кредитних авіз у Magento 2 зазвичай залежить від способу оплати , який використовувався під час оформлення замовлення.
Виходячи з цього, існує 2 типи кредитних авізо: Онлайн та Офлайн .
Офлайн-кредитне авізо означає, що відшкодування буде збережено лише в базі даних Magento, і кошти не будуть перераховані до банку, тому гроші фактично не повернуться. Воно використовується у випадку, якщо під час оформлення замовлення було використано офлайн-методihor
- 2 хв читання
Представлення магазину за замовчуванням Magento 2 — це представлення магазину, на яке спрямовуються користувачі за результатами пошуку. Magento має функцію перемикача магазинів, яка дозволяє вашим користувачам змінювати представлення магазину та переходити на те, що їм подобається.
Дізнайтесь як .
Ви можете мати стільки представленого магазину на вашому Magento 2, скільки вам потрібно в одному магазині. Однак користувачі всерівно будуть перенаправлені на представлений магазин за замовчуванням.
Отже, іноді вам потрібно змінити представлення магазину за замовчуванням.
Наступні кроки, щоб змінити представлення магазину для замовчування в Magento 2:
1. Підіть в Магазини > Усі магазини та виберіть Магазин для якого ви хочете змінити представлення магазину.
2. У полі Перегляд магазину за замовчуванням задайте Перегляд магазину який буде вважатись представленням магазину за замовчуванням для цього магазину та натисніть кнопку Зберегти магазин.
Тепер усі відвідувачі вашого магазину Magentoihor
- 2 хв читання
WebP — це сучасний формат файлів зображень, який багато веб-сайтів використовують для зменшення розміру зображень та покращення продуктивності веб-сайту. Але не забуваймо, що зображення великого розміру також можуть уповільнювати завантаження вашої програми.
Розгляньте можливість використання зображень WebP у вашій програмі для Magento 2?
Ось як.
Якщо у вас є стороння програма (наприклад, програма для iOS, Android тощо) і ви використовуєте її для свого магазину Magento 2, ви можете відображати там зображення у форматі WebP, навіть якщо у вас є лише зображення у форматі PNG, JPG або іншому форматі.
Єдине, що вам потрібно, це наше розширення , встановлене у вашому магазині Magento 2.
Отже, щоб відображати зображення WebP у сторонніх застосунках, вам потрібно визначити функціюgetWebPUrlу коді застосунку. Приклад наведено нижче:
function getWebUrl(imageUrl) { /* @var string */ imageUrl = imageUrl.trim(); var baseUrl = 'https://mystore.com/'; var imageFormat = imageUrl.split('.').pop(); varihor
- 2 хв читання
Команда Magefan вітає вас!
Ні для кого не секрет, що Закон України «Про забезпечення функціонування української мови як державної» почав діяти ще у липні 2019 року, проте впроваджується він поступово. Щороку буде починати діяти наступна норма закону. Для прикладу, 16 січня 2021 року вступила в силу норма про обслуговування споживачів державною мовою, та про подання інформації для загального ознайомлення (оголошення, вивіски, вказівники тощо), що повинно здійснюватись державною мовою.
Впродовж наступних трьох років поступово будуть введені в дію наступні норми, зокрема і норма, що стосується державної мови у віртуальному світі. Вона почне діяти 16 липня 2022 року.
Що це означає?
Відповідно до Статті 27. пункту 6 цього закону - “Інтернет-представництва (в тому числі веб-сайти, веб-сторінки в соціальних мережах) органів державної влади, органів місцевого самоврядування, підприємств, установ і організацій державної і комунальної форм власності, засобів масової інформації, зареєстрованих в Україніihor
- 1 хв читання
Іноді вам потрібно запустити код Magento 2 зовні, у таких випадках:
Інтеграція Magento 2 з іншими фреймворками або платформами, встановленими на тому ж веб-сервері,
швидке тестове виконання деякого методу, наприклад, завдання cron.
Наприклад, створіть файл test.php у кореневому каталозі 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);
$obj = $bootstrap->getObjectManager();
$state = $obj->get(Magento\Framework\App\State::class);$state->setAreaCode('adminhtml');
$object = $obj->create(\VendorName\ModuleName\Folder\Class::class);$object->someMethod();
VendorName\ModuleName\Folder\Class - назва класу, який ви хочете виконати;someMethod - назва методу, який ви хочете виконати;Увага!Переконайтеся, що__DIR__. '/app/bootstrap.php – це правильний шлях до файлу Magento 2 app/bootstrap.php.
Ви можете запустити test.php у веббраузеріihor
- 3 хв читання
У Magento 2 ви можете створювати плагіни (перехоплювачі), які дозволяють розширювати функціональність та виконувати власний код до, після або навколо будь-якого публічного методу PHP-класу.
Наприклад, є PHP-клас із публічними функціями "setName", "getName", "save":
<?phpnamespace VendorName\ModuleName\Folder;class SomeModel{ private $name; public function setName($name, $storeId = 0) { $this->name[0] = $name; } public function getName($storeId = 0) { return $this->name[$storeId]; } public function save($fields, $customData) { /* some save logic here */ }}
Як створити плагін у Magento 2?
1. Створіть файл etc/di.xml у папці та додайте туди наступний код:
<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="VendorName\ModuleName\Folder\SomeModel"> <plugin name="mycompany_mymodule_plugin_modulename_Folder_somemodel" type="MyCompany\MyModule\Plugin\ModuleName\Folder\SomeModelPlugin"ihor
- 2 хв читання
Продукти, що завантажуються в Magento 2, не мають фізичної форми та практично не потребують управління. Вам не потрібно займатися виробництвом, публікацією, доставкою чи доставки тощо. І саме це робить продукти, що завантажуються, такими популярними.
У Magento 2, окрім створення продукту для завантаження, потрібно налаштувати загальні Варіанти продуктів для завантаження.
Ці кроки для налаштування опцій завантажуваних продуктів у Magento 2:
Перейти до Магазини > Конфігурація > Каталог > Каталог і знайти Варіанти продуктів для завантаження розділ.
Виберіть Стан замовлення для активації завантажень який визначає, чи потрібно виконувати замовлення Виставлено рахунок або Очікує на розгляд щоб клієнт міг завантажити продукт.
Встановіть Максимальна кількість завантажень за замовчуванням доступно для 1 клієнта після придбання продукту, який можна завантажити.
Виберіть, чи хочете ви, щоб завантажуваний продукт був Можна поділитися, це означає, що клієнти отримають посилання для завантаження електронноюihor
- 2 хв читання
Одним з першочергових завдань будь-якого власника магазину є зробити досвід покупок максимально різноманітним та просунутим. У цьому можуть допомогти налаштування Magento 2. Вони допомагають вам надати вашим клієнтам можливість вибирати варіанти товарів відповідно до їхніх потреб, не покладаючись на їх атрибути.
Такий функціонал дозволяє вам класифікувати товари, створювати ціни в кошику та . Таким чином, ви можете налаштувати його і для власного магазину. І саме це ви сьогодні дізнаєтесь.
Як налаштувати власні параметри Magento 2?
1. Перейдіть до Каталог > Продукти і виберіть продукт, для якого ви хочете налаштувати параметри налаштування, або Додати новий продукт якщо потрібно.
Примітка: Ви не можете налаштувати власні параметри Magento для простих продуктів, які вже входять до .
2. Прокрутіть униз до Налаштовувані параметри розділ і натисніть кнопку Додати опцію кнопка.
Вкажіть Назва опції і Тип.
Позначте, якщо ви хочете, щоб ця опція була Обов'язково.
Примітка: як тільки ви перевіритеihor
- 3 хв читання
У розділі ви дізналися, як створювати нові таблиці в базі даних Magento 2. У цьому розділі ви дізнаєтеся більше про моделі, що використовуються для роботи з базою даних Magento 2, що дозволяє читати, редагувати та видаляти дані.
Magento 2 та Magento 1 використовують ORM Model/ResourceModel/Collection ( Об'єктно-реляційне відображення ) для цих цілей. Щоб реалізувати цю концепцію, вам потрібно створити 3 файли (model, resource model, collection).
1. Створіть файл моделі:
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'); }}
Конструкція _ініціалізує модель ресурсу. Передайте назву класу моделі ресурсу (створіть його на наступному кроці) методу _init . Найчастіше ви будете працювати з
Model . Цей клас має бути успадкований відihor
- 1 хв читання
Під час розробки інтернет-магазину на базі Magento 2 ви можете зіткнутися з проблемою розширення стандартної функціональності Magento 2 або .
Редагування основних файлів або модулів Magento заборонено, оскільки ці зміни будуть перезаписані під час .
Отже, як внести зміни до файлу шаблону фронтенду (інтерфейсу), css, js?
УВАГА! Наступні інструкції не можна використовувати для перевизначення файлів макета.
Перевизначте файли 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, створіть нову тему.
Перевизначте файли перегляду модулів у папці vendor.
Припустимо, вам потрібно змінити цей файл:
vendor/magefan/module-blog/view/frontend/web/css/blog-custom.css
Зробітьihor
- 1 хв читання
Якщо у вашому Magento 2 виникає помилка «Елемент з кореневим ідентифікатором вже існує», найімовірніше, це пов’язано зі стороннім розширенням, яке викликає методи для повторного рендерингу сторінки.
Щоб виправити помилку «Елемент з кореневим ідентифікатором вже існує»:
1. Знайдіть PHP-файл і рядок, який викидає виняток.
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.', [$elementId])
3. Потім відкрийте кожен файл (крім *Test.php) та додайте та завершітьihor
- 1 хв читання
Якщо ви хочете змінити тип з випадаючого списку на текстовий у Magento 2, все, що вам потрібно зробити, це виконати такі SQL-запити (будь ласка, зробіть резервну копію бази даних перед виконанням):
1. Цей запит змінить налаштування атрибута та перетворить його на текстовий атрибут.
UPDATE eav_attribute SET backend_type = "varchar", frontend_input = "text", source_model = ""WHERE attribute_code = "MY_ATTRIBUTE_CODE";
2. Цей запит скопіює дані атрибута випадаючого списку до таблиці значень атрибута тексту та замінить ідентифікатори опцій їхніми фактичними мітками (текст).
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 = (SELECT attribute_id FROM eav_attribute WHERE attribute_codeihor
- 2 хв читання
Іноді під час вам потрібно отримати інформацію про магазин програмно. Вам може знадобитися отримати поточний ідентифікатор магазину, код магазину, назву, ідентифікатор веб-сайту або .
Щоб отримати ці дані, використовуйте екземпляр singleton наступного класу:
\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
- 1 хв читання
Отримати URL-адресу у файлах шаблонів .phtml
1. Отримати URL-адресу головної сторінки магазину (http://domain.com/):
<?= $this->getUrl() ?>
2. Отримати URL-адресу деякої сторінки, наприклад, "Зв'яжіться з нами" (http://domain.com/contacts/):
<?= $this->getUrl('contacts') ?>
3. Отримати URL-адресу статичного файлу теми, наприклад:
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. Отримати URL-адресу статичного файлу в 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