• Официальной группы в Телеграм у нашего форума нет, все группы использующие в своем названии имя нашего форума являются мошенническими и администрация форума за деятельность таких групп ответственности не несет!

Помощь Magento 2

mirtacorus

Продвинутый (IV)
Сообщения
34
Симпатии
10
Баллы
382
Всем привет! Стоит задача отключить автозаполнение в полях Checkout Города и Улицы. Вот что выводится для поля INPUT.
Этот тег - autocomplete="off" отвечает за это, но так как в Хроме "off" не работает, рекомендуется ставить любую фразу типа "bla-bla" - autocomplete="bla-bla".

С этим понятно, проверил в браузере, все ок. НО теперь реализация. И тут накатило.

Понятно, что скрипт генерит это, прошерстил весь проект и для 100% гарантии установил место "off",'off' (поиск осуществлялся разными методами) значение "bla-bla"
:yahoo::yahoo::yahoo:Заменил все, нигде нет! Уделил всю статику. Кэши. Запустил жду.

И тут заново autocomplete="off" - кондратий чуть не хватил. ОТКУДА?

Нужен совет! Как заменить autocomplete="off" на autocomplete="bla-bla" в полях Checkout Города и Улицы?

HTML:
<div class="control" data-bind="css: {'_with-tooltip': element.tooltip}">
        <!-- ko ifnot: element.hasAddons() -->
            <!-- ko template: element.elementTmpl -->
<input class="input-text suggestions-input" type="text" data-bind="
    value: value,
    valueUpdate: 'keyup',
    hasFocus: focused,
    attr: {
        name: inputName,
        placeholder: placeholder,
        'aria-describedby': getDescriptionId(),
        'aria-required': required,
        'aria-invalid': error() ? true : 'false',
        id: uid,
        disabled: disabled
    }" name="city" aria-required="true" aria-invalid="false" id="PQSM4AU" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" style="box-sizing: border-box;"><div class="suggestions-wrapper"><div class="suggestions-suggestions" style="display: none;"></div></div>
<!-- /ko -->
        <!-- /ko -->

        <!-- ko if: element.hasAddons() --><!-- /ko -->

        <!-- ko if: element.tooltip --><!-- /ko -->

        <!-- ko if: element.notice --><!-- /ko -->

        <!-- ko if: element.error() --><!-- /ko -->

        <!-- ko if: element.warn() --><!-- /ko -->
    </div>
 
Последнее редактирование:

kaiser2

Созидатель (II)
Сообщения
19
Симпатии
3
Баллы
110
У вас не получится заменить autocomplete на "bla-bla", так как есть стадартные значения токенов из которых можно выбирать, которые используют браузеры, например "name", "email", или "street-address". Но от этого думаю вам лучше не станет. https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete

Попробуйте вот такую фишку: <input type="search" autocomplete="off" >

Если не поможет, то вот в стили вот так:
[autocomplete="off"] {
-webkit-text-security: disc;
}


Если в хроме и это не срабоает, то придется перехватывать самописным скриптом, причем придется эго постоянно переписывать, так как хром с каждым релизом переписывает код.
 

mirtacorus

Продвинутый (IV)
Сообщения
34
Симпатии
10
Баллы
382
У вас не получится заменить autocomplete на "bla-bla", так как есть стадартные значения токенов из которых можно выбирать, которые используют браузеры, например "name", "email", или "street-address". Но от этого думаю вам лучше не станет. https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete

Попробуйте вот такую фишку: <input type="search" autocomplete="off" >

Если не поможет, то вот в стили вот так:
[autocomplete="off"] {
-webkit-text-security: disc;
}


Если в хроме и это не срабоает, то придется перехватывать самописным скриптом, причем придется эго постоянно переписывать, так как хром с каждым релизом переписывает код.
В каком файле нужно записать так <input type="search" autocomplete="off" > ? В этом? Насколько я понимаю в Чекоут поле грузитсся отсюда vendor/magento/module-customer/view/frontend/templates/form/register.phtml

При тестировании показывает, что autocomplete="bla-bla" работает. Но вопрос был в том где это прописать в каком файле для поля Город
 

mirtacorus

Продвинутый (IV)
Сообщения
34
Симпатии
10
Баллы
382
[autocomplete="off"] {
-webkit-text-security: disc;
}

не вариант. Потому, что в Поле Город будет ***********
 

kaiser2

Созидатель (II)
Сообщения
19
Симпатии
3
Баллы
110
есть множество вариантов, например попробовать через jQuery. что сделает все поля readonly, до тех пор пока юзверь не кликнет на поле. Настроить на нужное поле. Так же можно через несколько секунд после окончания загрузки

Код:
jQuery(document).ready(function($){
 $('input, :input').attr('readonly',true);
 $('input, :input').on( 'click focus', function(){ 
    $('input, :input').attr('readonly',true);
    $( this ).attr('readonly',false);
 });
});

Думаю, что дело в том, что google собирает данные о пользователях, а автокомплит может делать запрос в их дата-центр, что бы "улучшить", они не хотят терять большой массив данных, наверное он им очень нужен...
 

mirtacorus

Продвинутый (IV)
Сообщения
34
Симпатии
10
Баллы
382
есть множество вариантов, например попробовать через jQuery. что сделает все поля readonly, до тех пор пока юзверь не кликнет на поле. Настроить на нужное поле. Так же можно через несколько секунд после окончания загрузки

Код:
jQuery(document).ready(function($){
$('input, :input').attr('readonly',true);
$('input, :input').on( 'click focus', function(){
    $('input, :input').attr('readonly',true);
    $( this ).attr('readonly',false);
});
});

Думаю, что дело в том, что google собирает данные о пользователях, а автокомплит может делать запрос в их дата-центр, что бы "улучшить", они не хотят терять большой массив данных, наверное он им очень нужен...
Уважаемый, Вы не поняли. Не нужно скрипт autocomplete="bla-bla" работает отлично. Я не знаю в каком файле и куда это записать, чтобы в код
Код:
<input class="input-text suggestions-input" type="text" data-bind="
    value: value,
    valueUpdate: 'keyup',
    hasFocus: focused,
    attr: {
        name: inputName,
        placeholder: placeholder,
        'aria-describedby': getDescriptionId(),
        'aria-required': required,
        'aria-invalid': error() ? true : 'false',
        id: uid,
        disabled: disabled
    }" name="city" aria-required="true" aria-invalid="false" id="PQSM4AU" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" style="box-sizing: border-box;"><div class="suggestions-wrapper"><div class="suggestions-suggestions" style="display: none;"></div></div
вместо autocomplete="off" подставилось autocomplete="bla-bla".
Не нужно никакие скрипты писать.
 

kaiser2

Созидатель (II)
Сообщения
19
Симпатии
3
Баллы
110
Искать же темплейт надо не в чекауте, а например вот тут:
Код:
app/code/Magento/Customer/view/frontend/templates/address/edit.phtml
 

kaiser2

Созидатель (II)
Сообщения
19
Симпатии
3
Баллы
110
У меня есть оба М1 и M2, этот путь из М2 но папки могут отличаться в разных версиях. Поиском ищите в своей версии по кейворду city в html темплейтах
 

v0v

Созидатель (II)
Сообщения
7
Симпатии
3
Баллы
46
А это вообще что за версия? У меня такого и близко нет, ну или я совсем туплю и не понял вопроса.

Код:
<div class="control" data-bind="css: {'_with-tooltip': element.tooltip}">
        <!-- ko ifnot: element.hasAddons() -->
            <!-- ko template: element.elementTmpl -->
<input class="input-text" type="text" data-bind="
    value: value,
    valueUpdate: 'keyup',
    hasFocus: focused,
    attr: {
        name: inputName,
        placeholder: placeholder,
        'aria-describedby': getDescriptionId(),
        'aria-required': required,
        'aria-invalid': error() ? true : 'false',
        id: uid,
        disabled: disabled
    }" name="city" aria-required="true" aria-invalid="false" id="HJY0K7H">
<!-- /ko -->
        <!-- /ko -->

        <!-- ko if: element.hasAddons() --><!-- /ko -->

        <!-- ko if: element.tooltip --><!-- /ko -->

        <!-- ko if: element.notice --><!-- /ko -->

        <!-- ko if: element.error() --><!-- /ko -->

        <!-- ko if: element.warn() --><!-- /ko -->
    </div>

/checkout/#shipping
M2.4.2
 

Alkos

Созидатель (II)
Сообщения
8
Симпатии
3
Баллы
73
Вангую - значение атрибута autocomplete сэтится где-то в нокаут компоненте этого хтмл тимплейа. Судя по всему тема кастомная, поэтому сказать где копать тут сложно.
 

sakyraster

Разрушитель (V)
Сообщения
64
Симпатии
55
Баллы
1 545
Посоветуйте хост с тестовым периодом где можно развернуть сайт с М2 2.3.5 и обновиться до 2.4.2, то везде вылезают косяки (
 

netmouse

Команда форума
Сообщения
8
Симпатии
11
Баллы
112
Посоветуйте хост с тестовым периодом где можно развернуть сайт с М2 2.3.5 и обновиться до 2.4.2, то везде вылезают косяки (
localhost :good3:
Докер например установить.
 

sakyraster

Разрушитель (V)
Сообщения
64
Симпатии
55
Баллы
1 545
Подскажите кто сталкивался
Ставлю модуль [M2] Amasty One Step Checkout когда запускаю deploy вылазят ошибки

Compilation from source: /home/shop/app/code/Amasty/Checkout/view/frontend/web/css/source/mkcss/amcheckout.less
Unable to get content for 'frontend/Mgs/mgsblank/ru_RU/../../../lib/css/source/lib/_lib.less'

содержимое файла amcheckout.less

Код:
// Generating css file. Path from vendor/magento/theme-frontend-blank
@import (reference) '../../../lib::css/source/lib/_lib.less'; // Library files
@import (reference) '../../../lib::css/source/lib/_responsive.less'; // Global responsive
@import '../_module.less';

В дефолтной теме файл css создается, в установленной нет

/pub/static/frontend/Magento/blank/ru_RU/Amasty_Checkout/css/source/mkcss/amcheckout.css

может пути в файле надо другие прописать ?
 

netmouse

Команда форума
Сообщения
8
Симпатии
11
Баллы
112
Подскажите кто сталкивался
Ставлю модуль [M2] Amasty One Step Checkout когда запускаю deploy вылазят ошибки

Compilation from source: /home/shop/app/code/Amasty/Checkout/view/frontend/web/css/source/mkcss/amcheckout.less
Unable to get content for 'frontend/Mgs/mgsblank/ru_RU/../../../lib/css/source/lib/_lib.less'

содержимое файла amcheckout.less

Код:
// Generating css file. Path from vendor/magento/theme-frontend-blank
@import (reference) '../../../lib::css/source/lib/_lib.less'; // Library files
@import (reference) '../../../lib::css/source/lib/_responsive.less'; // Global responsive
@import '../_module.less';

В дефолтной теме файл css создается, в установленной нет

/pub/static/frontend/Magento/blank/ru_RU/Amasty_Checkout/css/source/mkcss/amcheckout.css

может пути в файле надо другие прописать ?
Скорее всего проблема в шаблоне Mgs/mgsblank
 

sakyraster

Разрушитель (V)
Сообщения
64
Симпатии
55
Баллы
1 545
Наверно проблема в самой теме )) но это не первый модуль от Амасти в котором проблема с компиляцией и в этих модулях есть строки

// Generating css file. Path from vendor/magento/theme-frontend-blank
@import (reference) '../../../lib::css/source/lib/_lib.less'; // Library files
@import (reference) '../../../lib::css/source/lib/_responsive.less'; // Global responsive

в других которые работают такого нету
 

netmouse

Команда форума
Сообщения
8
Симпатии
11
Баллы
112
Наверно проблема в самой теме )) но это не первый модуль от Амасти в котором проблема с компиляцией и в этих модулях есть строки

// Generating css file. Path from vendor/magento/theme-frontend-blank
@import (reference) '../../../lib::css/source/lib/_lib.less'; // Library files
@import (reference) '../../../lib::css/source/lib/_responsive.less'; // Global responsive

в других которые работают такого нету
Если компиляция проходит для Luma и Blank, то проблема в сторонней теме.
 
Верх