Добавить атрибут продукта программно

Шаг 1: Создать файл InstallData.php Мы начнем с класса InstallData, который находится в app /code/you_module/HelloWorld/Setup/InstallData.php. Содержание этого файла: <?php namespaceyou_module\HelloWorld\Setup; use Magento\Eav\Setup\EavSetup; 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; } } Шаг 2:Определите метод install() <?php public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { } Шаг 3: Создать пользовательский атрибут Вот все строки кода InstallSchema.php для программного создания атрибута продукта. <?php namespace you_module\HelloWorld\Setup; use Magento\Eav\Setup\EavSetup; 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; } public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { $eavSetup = $this->eavSetupFactory->create([‘setup’ => $setup]); $eavSetup->addAttribute( \Magento\Catalog\Model\Product::ENTITY, ‘sample_attribute’, [ ‘type’ => ‘text’, ‘backend’ => », ‘frontend’ => », ‘label’ => ‘Sample Atrribute’, ‘input’ => ‘text’, ‘class’ => », ‘source’ => », ‘global’ => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL, ‘visible’ => true, ‘required’ =>… Читать далее »

Как сбросить пароль от MySQL или MariaDB

MySQL или MariaDB? Чтобы определить, какой сервер у Вас используется, нужно выполнить команду: mysql —version В результате Вы увидите следующий вывод для MySQL: mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper И такой вывод для MariaDB: mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1 Остановите сервер БД Для изменения пароля необходимо остановить MySQL или MariaDB сервер. Если Вы используете MySQL: systemctl stop mysql Если Вы используете MariaDB: systemctl stop mariadb Запуск сервера БД в безопасном режиме Для изменения пароля потребуется запустить сервер БД в безопасном режиме, то есть без загрузки параметров привилегий. Это позволит получить доступ к командной строке сервера БД без ввода пароля и соответственно изменить его. Для того, чтобы запустить сервер БД в безопасном режиме, выполните команду: mysqld_safe —skip-grant-tables —skip-networking & Далее, войдите в командную строку сервера БД под пользователем root: mysql -u root Изменение пароля Самый простой способ изменить пароль —… Читать далее »

Установка и первичная настройка PostgreSQL на Ubuntu 16.04

Введение PostgreSQL (произносится как «Пост-Грес-Кью-Эл») — свободная современная СУБД с широкими возможностями. Её используют такие компании, как Alibaba, Instagram, Skype, Yahoo и многие другие. Это говорит о надёжности системы, и при этом она является простой в установке, использовании и обслуживании. Поверхностно ознакомиться с ней можно по статье в Википедии: https://ru.wikipedia.org/wiki/PostgreSQL PostgreSQL является кроссплатформенной СУБД с открытым исходным кодом, поэтому её можно установить практически на любой сервер. Все конфигурации серверов и все операционные системы, предоставляемые vscale, позволяют использование PostgreSQL. Рассмотрим установку и настройку на примере Ubuntu 16.04 64bit. Технические требования • Пользователь с sudo-правами • Ubuntu 16.04 Шаг 1. Выбор источника для установки PostgreSQL является очень популярным сервером баз данных, поэтому присутствует в официальных репозиториях Ubuntu. Однако в PPA разработчиков PostgreSQL можно найти самую свежую версию. Например, на момент написания данной инструкции в репозитории Ubuntu имеется PostgreSQL 9.5, а из PPA можно установить 9.6. Если у вас нет потребности в самых последних возможностях… Читать далее »

WebMoney Domains

В настоящее время существует много интересных доменных зон, некоторые из них были и раньше. У большинства сервисов позволяющих регистраторовать на такие зоны большие скидки и на какой-то момент можно поверить, чтобы были созданы дешёвые и доступные зоны для всех пользователей для любых нужд, но на самом деле это и близко не так. На днях столкнулся с интересным сервисом от webmoney WebMoney Domains . Достаточно удобная вещь когда наличка находиться именно на кошельке webmoney. Совсем недавно стал пользоваться новым конструктором по созданию сайтов. И вспомнил, что у меня есть домен еще и на WebMoney.  Специалисты данного доменного регистратора оказали мне достаточно быструю и хорошую помощь. Несколькими преимуществами данного сервиса является: Мгновенная регистрация Надежная авторизация через WMKeeper Удобная оплата прямым платежом Прямой перевод с кошелька WebMoney Оплата с помощью WM-карты (чека Paymer)  

WebSocket

Протокол WebSocket (стандарт RFC 6455) предназначен для решения любых задач и снятия ограничений обмена данными между браузером и сервером. Он позволяет пересылать любые данные, на любой домен, безопасно и почти без лишнего сетевого трафика. Пример браузерного кода Для открытия соединения достаточно создать объект WebSocket, указав в нём специальный протокол ws.: var socket = new WebSocket(«ws://javascript.ru/ws»); У объекта socket есть четыре колбэка: один при получении данных и три – при изменениях в состоянии соединения: socket.onopen = function() { alert(«Соединение установлено.»); }; socket.onclose = function(event) { if (event.wasClean) { alert(‘Соединение закрыто чисто’); } else { alert(‘Обрыв соединения’); // например, «убит» процесс сервера } alert(‘Код: ‘ + event.code + ‘ причина: ‘ + event.reason); }; socket.onmessage = function(event) { alert(«Получены данные » + event.data); }; socket.onerror = function(error) { alert(«Ошибка » + error.message); }; Для посылки данных используется метод socket.send(data). Пересылать можно любые данные. Например, строку: socket.send(«Привет»); …Или файл, выбранный в форме: socket.send(form.elements[0].file); Просто, не правда ли? Выбираем, что переслать, и socket.send()…. Читать далее »

Скрипт для перевода текста на PHP через Google Translate

Не так давно Google закрыл API для своего Google Translate, в результате множество скриптов для автоматического перевода текста просто перестали работать. Программисты вынуждены были написать скрипт, который парсит переведенный текст из самого переводчика. Этот класс может переводить тексты между двумя языками с помощью Google Translate. Он может послать HTTP запрос на сайт и перевести текст между двумя заданными языками. Класс парсит возвращенную Google Translate страницу результата и возвращает переведенный текст извлеченный из страницы. Качаем класс переводчика использующий Google Translate Пример использования <?php error_reporting(E_ALL ^ E_NOTICE); include(‘translate.class.php’); $x = new translator_text(); $text = ‘Al Hotel Demo si vive in armonia con se stessi, immersi nel verde di una natura rigogliosa, con i boschi di pini, querce e tamerici in un terreno a terrazze sul mare. Il Villaggio Turistico è un moderno centro di vacanze, concepito e costruito per rispondere a tutte le esigenze dei suoi ospiti.’; echo'<meta http-equiv=»Content-Type» content=»text/html; charset=UTF-8″>’; echo $x->translate(strip_tags(trim($text)), ‘it’, ‘ru’); ?>… Читать далее »

Поддержка сайта

С момента появления таких сервисов как narod.ru, Google Sites или Front Page, которые позволяли «склепать» самостоятельно простой сайт с использованием элементарных шаблонов, многие создавали себе домашние странички, где рассказывали о себе, о своих услугах, хобби, достижениях. Однако, для рекламы коммерческих услуг такое решение не подходило и стали обращаться к профессионалам, которые предлагали комплекс услуг по созданию сайта. Так было до тех пор, пока не грянул кризис 2008 года, когда многие компании, для сокращения расходов решили перейти на самостоятельное обслуживание своих корпоративных сайтов. Ведь любая система управления предоставляет интерфейс для администрирования сайта без особых знаний и навыков. И такой работой стали нагружать либо менеджеров по рекламе, либо секретарей, либо специалистов из отдела IT. Вроде бы все хорошо, проблема решена, расходы сокращены, однако, так ли это здорово, как кажется? Да, конечно, практически любая система управления сайтом предоставляет возможность через визуальный редактор (WYSIWYG) вносить изменения в тексты на страницах сайта, управлять навигацией, добавлять новости, статьи и… Читать далее »

Как создать администратора в Magento 2 через командную строку

В случае, если у вас возникли проблемы с созданием нового администратора через командную строку в Magento 2, этот пост поможет вам. Я столкнулся с проблемой в моей среде разработки при попытке получить доступ к админ-панели Magento 2. Очевидно, что с количеством систем и веб-сайтов, которые мы используем ежедневно, и количеством паролей, которые мы должны иметь, легко забыть один 🙂 или несколько из них. К счастью, в Magento 2 CLI есть специальная команда для создания пользователей с правами администратора. Очень удобно иметь команду для этой цели, поэтому вам не нужно искать по всему интернету, как обновить пароль в Magento 2, поскольку мы привыкли делать это с Magento 1. Команда создания пользователя Admin Команда admin: user: create используется для создания нового администратора с помощью командной строки. Эта команда будет работать, если у вас установлена ванильная версия Magento 2 без каких-либо производственных изменений в authorization_roletable. Командные аргументы были следующими, согласно рекомендации Алекса Палиаруша:… Читать далее »

Способы обмена webmoney

Способы обмена электронных валют Участникам системы WebMoney Transfer доступно несколько способов обмен валют webmoney: Exchanger.money Exchanger.money функционирует по биржевому принципу, то есть обеспечивает прямую передачу средств между сторонами обмена. Сервис предназначен для двухстороннего обмена титульных знаков WebMoney на Яндекс.Деньги, QIWI, PayPal, Skrill, AliPay, WeChat Pay и RunPay. Вывод WMR на кошелек Яндекс.Деньги и QIWI по номеру телефона — вывод на кошелек QIWI — вывод на кошелек Яндекс.Деньги Прикрепление R-кошелька к системам электронных платежей Яндекс.Деньги и QIWI Прикрепите свой кошелек Яндекс.Деньги или QIWI и выводите на него средства или пополняйте с него свой R-кошелёк WebMoney. Мгновенно. Обменные пункты В каталоге Мегасток приведен список авторизованных обменных пунктов. Вы можете воспользоваться их услугами для обмена титульных знаков WebMoney на средства различных платежных систем. Сервис обмена SWAP SWAP — Онлайн-сервис по обмену титульных знаков WebMоney Transfer на электронные денежные средства. Все операции полностью автоматизированы. Сервис не взимает комиссии за свою работу. Правила работы — https://swap.ru/WMExchanger/2/Rules/Main Преимущества: обмен осуществляется моментально и в режиме… Читать далее »

Быстрая проверка отработки методов модуля

Для быстрой проверки отработки модулей можно использовать «командную PHP-строку» в админке самого bitrix для это следует зайти в админку и перейти в настройки и найти данный пункт Для подключения стороннего метода используем строку где указываем id модуля: Bitrix\Main\Loader::includeModule(«mega.admitad»); Далее можем уже использовать данный модуль с его классами и методами, пример: Mega\Admitad\TaskManager::runTask();