◄ Помощь ► Magento 2

Почему не есть хорошо?

Судя по имеющимся решениям — разработчики Мадженто не сторонники делать прямые запросы к БД, похоже, что основные взаимодействия построены на базе стандартных классов работы с данными, чтобы если произойдут какие-нибудь изменения в структуре данных или ещё что-либо оно автоматом и подхватывалось, но возможно я не прав :)

Отображается везде )) в админке при включенной мультисайтовости везде где надо и не надо выводится поле выбора вида/сайта. Плюс рядом с каждым полем данных выводится scope.

Только у меня, когда включен режим "мультисайтовости" в базе при выгрузке .CSV появляются дубли продуктов, к примеру один условно для [website] другой для [store view 1]? И когда, производишь правку в основной базе [website], то эти изменения не отображаются в представлении [store view 1].

Насколько я понимаю, это правильно, вы же когда добавляете продукт на вэбсайт, он отображается и в Store. Если хочется иметь продукт только в Store View, то нужно указать его имя в файле импорта CSV.

К такому заключению и пришел. Но, это несколько усложняет работу с базой и непосредственно её увеличивает.

И да, в Single Mode Store куча багов. Даже, на этапе Checkout при обновлении количества продуктов и при подтверждения заказа редиректит на главную страницу сайта. Магия :) Очень грустно, что такой серьезный продукт остается от релиза к релизу очень "сырым" :(
 
Последнее редактирование модератором:
Всем привет!
Что в версии 1, что во второй при сохранении html кода в CMS блоке, сбрасываются все отступы.
Код:
<div id="banner-slider-demo-17" class="owl-carousel owl-banner-carousel owl-middle-narrow">
<div class="item" style="background: url({{media url=;">
<div class="container" style="position: relative;"><img src="{{media url="wysiwyg/smartwave/porto/homepage/17/slider/layer2.png"}}" alt="" />
<div class="content-17 type1" style="position: absolute; top: 30%; left: 9%; text-align: right;"><em style="font-weight: 300; font-style: normal; color: #a39a8c; float: left;">Feel the real</em>
<div class="clearfix"></div>
<h2 style="font-weight: 400; font-style: italic; line-height: 1; color: #79a939; margin: 0;"><b style="font-weight: 800;">MOBILE</b> music</h2>
<p style="color: #010101; font-weight: bold; line-height: 1; margin-bottom: 15px;">$999</p>
<a style="font-weight: 600; color: #1e1e1e;" href="#"><span>SHOP NOW</span><i class="porto-icon-angle-right theme-bg-color"></i></a></div>
</div>
</div>
<div class="item" style="background: url({{media url=;">
<div class="container" style="position: relative;"><img src="{{media url="wysiwyg/smartwave/porto/homepage/17/slider/layer4.png"}}" alt="" /></div>
</div>
</div>
А вот в теме Porto заметил, что отступы не сбрасываются.
Никто не знает, что за ерунда такая? Реально неудобно читать код, когда отступы исчезают. А ещё есть момент уже независимо от темы, при повторном открытии блока, строка:
Код:
<div class="item" style="background:url({{media url="wysiwyg/smartwave/porto/homepage/17/slider/layer1.jpg"}}) no-repeat; background-size: cover;">
Становится:
Код:
<div class="item" style="background:url({{media url=">
 
со вторым не сталкивался

по поводу первого, как вариант
Для просмотра ссылки Войди или Зарегистрируйся

нормальная подсветка.
отступы расставляются по Ctrl+A , Shift-Tab

закачать с маркетплейса
копировать в app/code/Snmportal/SyntaxHighlighter
setup:upgrade и т.д.

Допиливать не нужно, но можно смело удалить menu.xml
См. pdf файл с документацией - нужно прописать в настройках 2 селектора - для обычного html (под редактор tinymce) и для полей xml -лейаутов
Все

После сохранения сбрасывать все равно будет, но достаточно нажать Shift+Tab, чтобы заново расставить отступы.
Чтобы вылечить совсем нужно прописать какую-то настройку TinyMce

SyntaxHighlighter добавляет помимо прочего возможность добавлять настройки tinymce прямо в админке

См. документацию tinymce. Возможно, поможет protect

tinymce.init({
protect: [/[\n\f\r\t\v]/g]
});

отсюда
Для просмотра ссылки Войди или Зарегистрируйся

Или см. исходники порто
 
Привет, магентоманы!:sun:
Скажите, пожалуйста, с помощью чего можно разбить технические характеристики товара на фронтенде на группы с заголовком?
Пример: есть вкладка Описание и есть вкладка Технические характеристики, а в ней не сплошной перечень атрибутов, а с заголовками для группы атрибутов:
Технические характеристики

Основные:
Артикул 802031
Бренд Lightstar
Страна Италия
Коллекция Nubi Ondoso
Стиль Хай-тек

Размеры:
Ширина, мм 450
Высота, мм 300
Диаметр, мм 450

Лампы:
Тип цоколя E27
Тип лампочки (основной) Накаливания
Количество ламп 3
Мощность лампы, W 40
Общая мощность, W 120
Площадь освещения, м2 6.7
Напряжение, V 220

Цвет и материал:
Виды материалов Стеклянные
Материал арматуры Металл
Материал плафонов Стекло
Цвет Белый
Цвет арматуры Хром
Цвет плафонов Белый
Форма плафона Декоративный

Дополнительно:
Степень защиты, IP 20
Интерьер Для кухни
Место установки На потолок
Пульт ДУ Нет
Гарантия 18 месяцев
 
В лейауте catalog\view\frontend\layout\catalog_product_view.xml см. блок product.info.details
он выводит вкладки.
в него вложен блок, который выводит вкладку атрибутов товара:
product.attributes
там же прописан темплейт блока: product/view/attributes.phtml
копируешь его в свою тему правишь, как тебе нравится

Если твой блок технических характеристик другой,
тогда ищи в лайутах модуля, который добавляет этот блок, что-то похожее на

<referenceBlock name="product.info.details">
<block class="..." name="..."/>
</referenceBlock>

и соответственно правишь темплейт этого блока
 
Последнее редактирование:
В лейауте catalog\view\frontend\layout\catalog_product_view.xml см. блок product.info.details
он выводить вкладки.
в него вложен блок, который выводит вкладку атрибутов товара:
product.attributes
там же прописан темплейт блока: product/view/attributes.phtml
копируешь его в свою тему правишь, как тебе нравится

Если твой блок технических характеристик другой,
тогда ищи в лайутах модуля, который добавляет этот блок, что-то похожее на

<referenceBlock name="product.info.details">
<block class="..." name="..."/>
</referenceBlock>
Благодарю, но возможно вы не поняли, что я имел ввиду.
Имеется ввиду разбить атрибуты на группы и присвоить группам заголовки. Или вы имеете ввиду в phtml файле создать эти группы и вместо общего сценария вывода атрибутов, написать конкретно для каждого атрибута?

в product/view/attributes.phtml цикл обхода атрибутов

PHP:
<?php
    $_helper = $this->helper('Magento\Catalog\Helper\Output');
    $_product = $block->getProduct()
?>
<?php if ($_additional = $block->getAdditionalData()): ?>
    <div class="additional-attributes-wrapper table-wrapper">
        <table class="data table additional-attributes" id="product-attribute-specs-table">
            <caption class="table-caption"><?php /* @escapeNotVerified */ echo __('More Information') ?></caption>
            <tbody>
            <?php foreach ($_additional as $_data): ?>
                <tr>
                    <th class="col label" scope="row"><?php echo $block->escapeHtml(__($_data['label'])) ?></th>
                    <td class="col data" data-th="<?php echo $block->escapeHtml(__($_data['label'])) ?>"><?php /* @escapeNotVerified */ echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
                </tr>
            <?php endforeach; ?>
            </tbody>
        </table>
    </div>
<?php endif;?>

группируй и разбивай, как нужно - обычная верстка)
Подскажите, пожалуйста, а что тут выводит конкретный атрибут? Не вижу id или названия атрибута.
 
Последнее редактирование модератором:
в product/view/attributes.phtml цикл обхода атрибутов

PHP:
<?php
    $_helper = $this->helper('Magento\Catalog\Helper\Output');
    $_product = $block->getProduct()
?>
<?php if ($_additional = $block->getAdditionalData()): ?>
    <div class="additional-attributes-wrapper table-wrapper">
        <table class="data table additional-attributes" id="product-attribute-specs-table">
            <caption class="table-caption"><?php /* @escapeNotVerified */ echo __('More Information') ?></caption>
            <tbody>
            <?php foreach ($_additional as $_data): ?>
                <tr>
                    <th class="col label" scope="row"><?php echo $block->escapeHtml(__($_data['label'])) ?></th>
                    <td class="col data" data-th="<?php echo $block->escapeHtml(__($_data['label'])) ?>"><?php /* @escapeNotVerified */ echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
                </tr>
            <?php endforeach; ?>
            </tbody>
        </table>
    </div>
<?php endif;?>

группируй и разбивай, как нужно - обычная верстка)

ps.
например, самое простое - привязаться к $_data['code']
после определенных кодов вывести заголовок группы

внутри цикла добавь
var_dump($_data);

и увидишь откуда что берется
 
Последнее редактирование модератором:
Всем привет! Кто-нибудь пробовал импорт с пользовательскими атрибутами?
Разделители для категорий и изображений я использовал всегда запятую и было всё хорошо. Тут решил добавить пользовательские атрибуты с множественным выбором.
Вопрос: правильно, что все пользовательские атрибуты будут в additional_attributes и строка будет выглядеть так:
my_atribbute_1=Жёлтый|Зелёный|Красный,my_atribbute_2=Метал|Дерево
Возникает вопрос при импорте тогда необходимо поставить разделитель для мульти-выбора |
Тогда корректно оставлять запятую, разделяющую несколько категорий в categories и в additional_images?
В официальной документации ничего не сказано про: has_options = 0, required_options = 0.
Этими расширениями и при обновлении продуктов пользуешься?


Импорт в пустую базу происходит очень быстро — 10к SKU примерно за 7 минут. А вот обновление уже загруженных продуктов, все как я описал выше.
Скажите, пожалуйста, как вы импортируете продукты стандартными средствами? Имеется ввиду пробовали добавлять свои атрибуты с множественным выбором? Какие были настройки?
Я пользуюсь исключительно Magmi. Как для версий 1.х так идля 2.х . Есть одно, НО. Magmi работает напрямую с базой, это не есть хорошо, но в данном случае это жирный плюс, нежели минус.
Создание новых товаров и обновление происходит быстро. Magmi одно из самых лучших решения в вопросе импорта товаров.
Настройки как на Mageno 1, свои атрибуты добавляются по страринке?
 
Последнее редактирование:
Скажите, пожалуйста, как вы импортируете продукты стандартными средствами? Имеется ввиду пробовали добавлять свои атрибуты с множественным выбором? Какие были настройки?

Да, свои атрибуты добавлял в additional_atributes и причем ни один Для просмотра ссылки Войди или Зарегистрируйся Насчет множественного выбора не подскажу. Но, когда необходимо было использовать запятую никак разделитель, а внутри атрибута, то использовал html значение &#044; и это работает
 
Всем привет! Решил установить One Page / Step Checkout Для просмотра ссылки Войди или Зарегистрируйся. Оказалось стал платным. Но в маркетплэйсе он всё ещё бесплатный. Но устанавливается из админ-панели магазина. Возможно как-то вытащить этот модуль, чтобы в дальнейшем устанавливать его обычным способом (не через админку)?

Кто-нибудь устанавливал One Page / Step Checkout? Смотрю в инструкции помимо самого модуля требуется установить IWD_All. Я так понимаю модуль закубленный и для этого нужно дополнительно установить его? Правда инструкция на Checkout Suite. Для бесплатного наверное не нужно это дополнение...

обычный модуль
iwd all можно скачать у них на сайте
Для просмотра ссылки Войди или Зарегистрируйся
Так в том то и дело, они пишут установите iwd all и модуль. По логике для расшифровки, но для бесплатного модуля возможно он не нужен. "Установка IWD_All является необходимым шагом для того, чтобы купленное расширения от IWD, чтобы правильно функционировать в системе Magento." Вот и возникает вопрос, что бесплатное приложение от них требует или нет этого модуля? Инструкции для One Page / Step Checkout нет. Видимо сначала запустили бесплатный пробный продукт, а потом удалили его и сделали платным и уже с этим модулем расшифровки.

Кто-нибудь пробовал вытащить Mega Menu из темы Porto? Интересует вопрос: нужна ли папка "Core" помимо "Megamenu" в папке code? Как сделать это корректно?
 
Последнее редактирование модератором:
Назад
Сверху