replicant +685


replicant

  • replicant replicant Сегодня 18:55 #

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

    Только плагины и их разработка тут непричем. Ничто не мешает загружать всё свое в файл-менеджер Сайта, а потом поднимать по ссылкам. Конечно не так удобно, но плагины для этого как минимум никакие не нужны.

    в ответ на Загрузка файлов в редакторе

  • replicant replicant Сегодня 18:13 #

    Берем последнюю fancybox с оригинального сайта. Версия 3.5.7 (на версиях 3.1.25 и младше может не сработать). Можно и минифицированную версию взять сразу, чтобы выиграть в размере.

    Затем берем CSS там же в Источнике. В CSS убираем или комментируем первый класс body.compensate-for-scrollbar (как правило с ним будет лишний прыжок и дерганье, но лучше проверяйте всё пошагово). Подшиваем его (CSS'ину) к своему проекту т.к. от старых версий не налезет и надо перелопачивать, а это всегда возня.

    В первом вхождении afterLoad в JS файле меняем $n.noop на

    function(instance, current){current.$image.attr('alt', current.opts.$orig.find('img').attr('alt') );}

    И будет вот так (последовательность скринов нарушилась, но суть видна). На скринах эскиз 600, у которого alt={$product.name|escape}, а затем оригинал 1280 и свойства большого изображения в браузере на предмет связанного текста.





    Вообще этот afterLoad + function можно и отдельно подцепить скриптом, но надо смотреть по месту чё да как. С другой стороны исходник подправить вообще 5 сек.

    в ответ на alt картинки в плагине fancybox

  • replicant replicant Сегодня 14:04 #

    А смысл внедрять это в движок? Они внедрят так, что будет ни исправить, ни добавить. Знаем мы этих внедрителей. Делать неотключаемое нечто в последнее время в их стиле.

    Вариантов с телефонными полями там немного и достаточно пришить к настройкам нужного плагина возможность менять/добавлять свои поля и дело в шляпе. Перечислил через запятую в окошке настроек всякие нетривиальные штуки и сидишь наслаждаешься тем, что всё работает везде.

    Например на моих сайтах применяются такие поля (подозреваю что это почти всё по дефолту есть везде)

    input[name^="phone"], input[name^="data[phone]"],input[name^="profile[phone]"], input[name^="customer[phone]"], input[name^="fields[phone]"]

    Как правило в 90% случаев этого уже должно быть достаточно. Что делать с нестандартными написано выше.

    в ответ на Сделать встроенную маску номера телефона

  • replicant replicant Сегодня 13:36 #

    В некоторых темах дизайна такое есть по-умолчанию. Например в темах от этой студии https://www.webasyst.ru/store/...

    А так копайте в шаблон страниц page.html или вообще встройте в index.html панельку.

    Если зашел админ скажем с id=1 {if $wa->user()->isAuth() && ($wa->user("id") == 1)} или вот так {if $wa->user()->isAdmin()}, то дать ссылку на админку по $page.id <a href="{$wa_backend_url}{$app}/#/pages/{$page.id}">Редактировать</a> вместо $app берите приложение из параметров, вроде как-то так {$app = $wa->param('app')}, но лучше проверить, мог подзабыть мелочи. Это не так сложно. По сути уже все написано что надо. Осталось лишь проставить условия на нужных юзеров или админа и дать ссылки на вашу админку.

    Вот так выглядит панель управления админа и ссылка на переход в редактор. Клац и мы уже в админке на нужной странице.

    в ответ на Вывод кнопки редактирования

  • replicant replicant 23 февраля 2021 08:48 #

    В двух словах о том, почему такое случается.

    Дело в том, что системные и прочие шаблоны Email и SMS из приложения Настройки (не путать с уведомлениями Магазина) сохраняются в таблице wa_verification_channel_params в БД.

    Причем сохраняются весьма хитро. В одно поле засовываются ВСЕ шаблоны разом для каждого из каналов верификации (он же набор шаблонов уведомлений). Т.е. все 6 шаблонов писем сохраняются в одну ячейку таблицы в БД. Там рядом ещё пишется статистика срабатывания шаблонов типа "total":19466,"total_failed":23,"last_failed":0, но это уже не интересно.

    Поле value, в которое записываются шаблоны, имеет тип TEXT, а значит длину 65535 байт (не равно числу символов шаблона). Сами шаблоны выглядят таким образом

    <p>\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u0435\u043c!<\/p>
    
    Что в переводе на нормальный HTML будет выглядеть как
     
    <p>Поздравляем!</p>

    А значит поля длиной 65535 просто не хватит и причем не хватит весьма быстро, если начать внедрять туда шаблоны по типу как из уведомлений Магазина, которые обычно толще, чем системные.

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

    Избавиться от этого "в лоб" можно сменой типа поля, в котором всё хранится, на скажем MEDIUMTEXT до 16777215 или LONGTEXT до 4 Гб :)

    Либо подключить блоки, укоротив непосредственно хранимый код.

    Хотя лично для себя предпочел бы именно модификацию поля таблицы БД, исходя из принципа "хранения однотипных данных в одном месте", чтобы не забыть потом какие блоки на что влияют, когда этих блоков будет штук 50-60 или более.

    в ответ на Системные шаблоны E-mail

  • replicant replicant 22 февраля 2021 18:04 #

    Запустить пересоздание всех эскизов в Магазин - Настройки - Изображения. Предварительно убедиться, что оригиналы сохранены и без ВЗ, а в настройках плагина знак заменен на новый.

    в ответ на Водяные знаки

  • replicant replicant 22 февраля 2021 07:51 #

    Я бы отрезал весь CSS и шрифты плагина, покоцав функцию вывода, если отключение настройками не предусмотрено. СSS вынес бы в тему дизайна либо в основной файл либо доп. файлом типа quickorder.css.

    Подгрузку с Гугла убрал бы полностью, заменив шрифты на нужные на вот отсюда https://google-webfonts-helper... и закачав их локально на сервер. Там нужно-то 3-4 начертания + Italic обычно, причем Italic можно не прелоадить в зависимости от темы дизайна, если он редко встречается.

    Preload ключевых начертаний семейства Робото или иного реализовал бы в index.html, а всякие swap, local и прочее в основном шрифтовом CSS вашей темы и только для современных браузеров в формате woff2. Старье нет смысла поддерживать.

    В CSS было бы как-то так (на примере одного начертания)

    @font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src: local('Roboto'),local('Roboto-Regular'),url(/fonts/roboto-v20-latin_cyrillic-regular.woff2) format("woff2")}

    В шаблоне как-то так

    <link rel="preload" href="/fonts/roboto-v20-latin_cyrillic-regular.woff2" as="font" type="font/woff2" crossorigin />

    И всё. Лайтхаус будет счастлив.

    в ответ на Шрифты

  • replicant replicant 21 февраля 2021 22:56 #

    На quickorder подумал. Там дальше после включения гуглошрифта грузится характерный style, в котором

    <style id="quickorder-inline-styles" data-inline-css="1">[data-quickorder-cb]{background:rgba(38,184,114,1);border:1px solid #26b872;color:#fff;-webkit-box-shadow:1px 1px 1px 1px #d6ebd1;-moz-box-shadow:1px 1px 1px 1px #d6ebd1;box-shadow:1px 1px 1px 1px #d6ebd1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;
    
    font-family:'Roboto',sans-serif; - вот это есть
    
    font-size:13px;font-style:normal;


    В браузере исходный код страницы тоже может много показать.

    в ответ на Шрифты

  • replicant replicant 21 февраля 2021 22:54 #

    Это не обязательно может быть в index.html. Основной файл темы собирается по принципу матрешки. Причиной может быть любой из входящих в эту кучу шаблонов.

    Вообще у вас там Roboto изначально заложен на уровне https://gyrosmart-spb.ru/wa-data/public/site/themes/balance/css/fonts.css


    Но, если посмотреть исходный код, то там встретим вот такое включение Гуглошрифтов семейства Робото.

    <!-- plugin hook: 'frontend_head' -->
    <script>(function($){$(function(){$.autobadgeFrontend.init({update:'/autobadge/update/',forceParentVisible:'',delayLoading:'',delayLoadingAjax:'',forceParentRelative:'1',showLoader:'1'});});})(jQuery);</script>
    
    <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">

    Очевидно, что надо искать где-то в точке вывода плагинов через 

    frontend_head

    Т.е. вывод идет через те шаблоны, где это включение хука прописано.

    Для того, чтобы выяснить какие плагины задействуют этот хук, установите плагин Управление плагинами https://www.webasyst.ru/store/.... Он покажет куда копать дальше примерно так




    Ну и затем выходите на плагин и смотрите либо его настройки, либо исходник ну и там по ситуации.

    Проще всего искать такие штуки не просеивая шаблоны и исходники плагина вручную, т.к. это малоэффективно, а прямо на сервере в консоли или в файл-менеджере по Roboto или каким-то подобным ключам.

    в ответ на Шрифты

  • replicant replicant 21 февраля 2021 17:55 #

    Муторно и сложно и настройки проверять ещё. К тому же настройки могут быть недоступны к проверке из определенного шаблона, что тянет какие-то правки в других файлах и усложняет работу в разы.

    Проще сделать как сейчас. Если есть id, то давать перейти или в Пользователи или в Контакты по желанию типа как на скриншоте, где 2 иконки приложений. Получилось отлично и просто.

    А есть там заказы или нет - это не важно. При переходе будет видно инфу по заказам. Важно наличие id и данных по объекту под этим id, чтобы сформировать ссылку на страницу контакта/покупателя.

    Если есть доступ к файлам на хостинге, то вот собственно весь код, который нужен. Правка делается начиная с 50-й строки вышеупомянутого шаблона.

    <span class="bold">{$review.author.name|escape}</span>
    <a href="{$wa_backend_url}shop/?action=customers#/id/{$review.contact_id}/"><img src="/wa-apps/shop/img/shop48.png" style="width:14px;"></a>
    <a href="{$wa_backend_url}contacts/#/contact/{$review.contact_id}"><img src="/wa-apps/contacts/img/contacts.png" style="width:14px;"></a>

    Внешний вид через style уже сами по месту подгоните т.к. там какие-то лихие padding'и по-умолчанию.

    в ответ на Вместо контата вывести ссылку на покупателя. (отзывы покупателей)

  • replicant replicant 21 февраля 2021 17:07 #

    Вот запилил себе цацку. Если кому интересно, то шаблон /wa-apps/shop/templates/actions/product/include.review.html

    в ответ на Вместо контата вывести ссылку на покупателя. (отзывы покупателей)

  • replicant replicant 21 февраля 2021 16:17 #

    Здесь мне видится логическая проблема, которую заложили в раздел Покупатели при проектировании. Отзыв может быть оставлен не покупателем, т.е. незарегистрированным вообще, если таковые настройки разрешены в магазине, либо зарегистрированным, но без заказов. Поэтому и переводит в Контакты как в некую универсальную среду для показа всех контактов в том числе и тех, кто без заказов.

    Логичным видится либо допиливание Покупателей до уровня Контактов в случае наличия Магазина, либо доработка Контактов и доведение до ума этого подзабытого приложения.

    А вообще было бы идеально в случае зарегистрированного пользователя и наличия ссылки из отзывов на профиль делать возможным переход по ссылкам и в Покупателей и в Контакты, т.е. рядом с Именем иконки двух приложений выводить. Кому куда надо, тот туда и пойдет. Это было бы правильно. В принципе это реализуемо за 5 минут (может и быстрее) правкой определенного шаблона админки, но, увы, слетит при обновлении.

    в ответ на Вместо контата вывести ссылку на покупателя. (отзывы покупателей)

  • replicant replicant 21 февраля 2021 09:41 #

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

    СДЭК при пошаговом выводится в любом случае, даже когда сервера СДЭК лежат полностью как мертвые. Просто информация будет ограничена.

    в ответ на На сайт не отображаться способы доставки "СДЭК" и "Пункт выдачи заказов"

  • replicant replicant 20 февраля 2021 19:26 #

    Потому что в Гите нумерация 1.14.13, а в дистрибутивах 1.14.13.587 тут вот https://developers.webasyst.ru/download/

    Соответственно качать последний фреймворк лучше по ссылке и ставить из архива. На него уже магазин точно налезет. Может даже статься так, что просто номерок версии подправить забыли или не успели.

    в ответ на Не устанавливается shop-script

  • replicant replicant 20 февраля 2021 14:27 #

    Этот плагин точно не об этом. Он про категории. Да и то не без "особенностей". Если речь о нём конечно https://www.webasyst.ru/store/plugin/shop/pagination/

    Вам нужен плагин типа SEO-артикулы по этой ссылке https://www.webasyst.ru/store/plugin/shop/seosku/

    в ответ на Плагин "SEO-пагинация" (кто пользовался)

  • replicant replicant 20 февраля 2021 13:29 #

    Аналогично. Регистрация при просмотре пин-кода - жесткая штука. Там вроде ещё пароли такие генерируются типа HdMuzt55PTn71 или JXno172erCHVa что вдвойне пугает. :)

    в ответ на Не работает поиск товаров в админке по артикулу после вчерашнего обновления

  • replicant replicant 19 февраля 2021 15:40 #

    Значит через месяц + ещё две недели можно будет накатить обновление, а пока 8.17.1.43 подождет. :)

    в ответ на Не работает поиск товаров в админке по артикулу после вчерашнего обновления

  • replicant replicant 18 февраля 2021 22:48 #

    Сделайте с неё редирект 301 куда-нибудь в полезное место. Да хотя бы на главную страницу. Походят-походят да и отвалят.

    в ответ на Сделать категорию недоступной

  • replicant replicant 18 февраля 2021 17:09 #

    Вроде бы sign_delim не делитель разрядов, а символ между суммой и знаком валюты или это поменялось? И этот разделитель полезет в {$price} переменную в редакторе товара, а в og:title и подобных мета вообще подарки будут

    2 290&amp;nbsp;руб.


    Проще накинуть какой-нибудь пустотелый класс на сумму+валюту, а кому надо уже сделают nowrap по ситуации.

    в ответ на Доработать функцию {shop_currency_html}

  • replicant replicant 18 февраля 2021 13:17 #

    Нужен механизм премодерации комментариев на уровне приложения Блог или на уровне определенных блогов внутри этого приложения, что было бы ещё лучше.

    Ну и есс-но соответствующий интерфейс в бекенде и иконка кол-ва новых комментариев на панели приложений.

    в ответ на ​В блоге пишут отзывы. Под имя маскируют спам ссылку на свой сайт

  • replicant replicant 17 февраля 2021 15:16 #

    Можно. Для вашей темы Мастершоп есть совместимые поддерживаемые плагины. Прочитайте инструкцию к теме дизайна вот тут https://www.webasyst.ru/store/...

    в ответ на Категории

  • replicant replicant 16 февраля 2021 14:49 #

    Текущий Едж, который Хромой, тот есс-но умеет сразу. Старый не умел. Его надо было костылить и в принципе для Win это расширение из Store рекомендуется ставить до сих пор, чтобы разный софт мог смотреть WebP, если сам не может, но хочет и нужна поддержка.

    MSPaint отрывать-то открывает, но сохранять в этом формате как не умел, так и не умеет. Да вроде у него и задачи такой не было. Поэтому он в производстве WebP бесполезен.

    в ответ на Загрузка фото в формате webp

  • replicant replicant 16 февраля 2021 14:33 #

    Кроме плагина под Фотошоп для ряда просмотровщиков и вроде для Edge надо ставить Расширения для изображений WebP из Microsoft Store. По крайней мере FastStone под Win показывать WebP начинает только после этого.

    в ответ на Загрузка фото в формате webp

  • replicant replicant 16 февраля 2021 11:49 #

    Мне удобнее пользоваться плагином т.к. весь подготовительный процесс от камеры до финальной оптимизации и накапливающиеся фотоархивы завязаны на JPG, потому что с ним объективно меньше возни и полная совместимость всех программ (не только Фотошопа да пары-тройки просмотровщиков) на всех стадиях производства и использования в различных док-тах, материалах и публикациях. Оформительская графика, иконки, логотипы и другая мелочь в PNG или SVG, но тут уже всё по ситуации и WebP в этом классе изображений присутствует тоже, если дает выигрыш в конкретном случае.

    Однако от поддержки нативной загрузки не отказался бы. Пусть будет. Сама идея загрузки WebP напрямую уже давно требует реализации.

    А кому, чем и зачем пользоваться, пусть сами разбираются. Была бы возможность.

    в ответ на Загрузка фото в формате webp

  • replicant replicant 13 февраля 2021 10:22 #

    После обновления фреймворка вообще ничего не произойдет. В таких случаях полет нормальный. Это скорее всего последствия обновления именно Магазина и плагина Яндекс-маркета до версии 2.4.2.129, который можно обновить сразу после установки обновки Магазина версии 8.17.0.42.

    По опыту обновление фреймворка весьма редко тащит какие-то критичные для работы ошибки. Конечно залёты случаются, но редко и в основном всё устанавливается и работает нормально.

    Обновление Магазина - это постоянные сюрпризы и нежданчики. Особенно тогда, когда в анонсе очень много текста и много каких-то ключевых вещей. И особенно тогда, когда параллельно его (магазин) усиленно пилят и встраивают много нового кода.

    Например

    Исправили формирование печатной версии заказа с онлайн-картой после предыдущего обновления.

    с высокой вероятностью полная фигня и особых проблем в работе не будет даже в случае ошибок, т.к. печатная версия в принципе ущербна и для печати годится лишь как черновик для внутренней работы на складе. Отдавать такое людям стыдно, поэтому пусть хоть вообще исчезнет и скатертью дорожка (мнение есс-но субъективное и кому надо, тот пусть и пользуется этой формой). Печатные формы должны формироваться отдельно в своих редактируемых шаблонах по типу Уведомлений, а не зависеть от каких-то встроенных админских шаблонов Магазина. Могли бы за годы от релиза к релизу вытащить базовые вещи как бланк заказа, печать страницы товара, печать карточки и списка заказов покупателя в отдельные пункты Печатных форм, но видимо не судьба, поэтому пилим сами. Один лист доставки чего стоит. Кровь из глаз. Убрали бы уже его от греха подальше. Ну стыдно же. :)

    А вот такое

    Исправили формирование значения тега canonical при использовании постраничной навигации по длинным спискам товаров на витрине.

    может иметь последствия, если будет работать с ошибками и сразу можно и не заметить, если специально не проверять и не сравнивать как было и как стало.


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

    Чек-лист каждый должен составлять для себя сам в зависимости от задач и комплектации теми или иными плагинами и доработками. Без чек-листа жизнь - боль!

    в ответ на Ошибки в прайс-листе Яндекс.Маркет после вчерашнего обновления

  • replicant replicant 13 февраля 2021 00:20 #

    Плагин называется Незаполненные товары. Вот ссылка https://www.webasyst.ru/store/...

    в ответ на Найти все товары, в которых НЕ проставлены определенные характеристики

  • replicant replicant 12 февраля 2021 17:13 #

    Если внимательно почитать описание плагина, то там есть такое

    - Определенную страницу товара (выборка идет по url)

    Это подразумевает, что контент создается на Подстраницах товара, а потом берется плагином по ссылкам в виде url. Для этого надо создать вкладку и "скормить" ей ссылку на подстраницу.


    Однако есть и другой путь решения задачи.
    Доп. контент создается так же на подстраницах товара, а во вкладки упаковывается в шаблоне темы дизайна примерно так (Описание, Отзывы, Хар-ки, а затем +3 идут все страницы товара в виде вкладок)

                    {foreach $product.pages as $page}
                    <div id="tab{$page@iteration + 3}" style="display:none;">
                        <div class="tab-head"><h2>{$page.name|escape}</h2></div>
                        <div class="tab-content">
                            {include file="string:`$page.content`"}
                        </div>
                    </div>
                    {/foreach}

    Плагин для такой простой задачи в принципе не особо и нужен. Достаточно просто пересобрать шаблон product.html темы дизайна, хотя это тоже решение на любителя, но спецу работы на час, чтобы собрать вкладочную конструкцию. Подстраницы в моем коде закидываются на вкладки автоматически, а название вкладки = заголовок подстраницы товара. Создал страницу - вкладка появилась. Удалил - пропала. Всё крайне просто.

    Скрипт управления вкладками такой

    $('.tab-menu').click(function(){$('.tab-menu').removeClass('selected');$('.tab-content').parent().hide(200);$(this).addClass('selected');
    $('#tab'+$(this).attr('value')).show(200)})

    Собственно весь код уже в этой теме, кроме css и вкладок 1, 2, 3.

    Если нужен более подробный совет по второй части, то в Телеграм @dmitriy_glazachev

    в ответ на Есть ли плагин для формирования вкладок в карточке товара?

  • replicant replicant 11 февраля 2021 17:58 #

    Сутки - это мало. Опытные ждут неделю минимум и даже потом ещё сильно много думают и проверяют на тестовых установках. Торопится-то куда? :)

    Ещё лучше иметь вторую версию на резервном тестовом домене, где пусть хоть всё накроется медным тазом, потому что для таких случаев подобная страховка и придумана.

    в ответ на Кто обновился 11.02.2021 ?

  • replicant replicant 9 февраля 2021 19:42 #

    Не разрешать вводить адреса сайтов и все. Шаблон подправить. В comment.html например есть {$comment.site} на вывод, а в comments.html всякое типа <input type="text" name="site" id="comment_site"> для ввода и ещё по мелочам.

    Нет поля - нет проблемы (как правило отсутствие поля ввода на 99.9% работает). Вывод комментариев строить только по чистым выбираемым данным без ссылок на сайты, даже, если такие и просочились, мыло тоже можно резать и т.п., тем самым убирая остальные 0.1% :)

    Также было бы неплохо как-то организовать премодерацию комментариев, но это уже платное решение, т.к. доп. доработка, хотя может кто-то и возьмется в WA допилить Блог до вменяемого состояния. По идее премодерация комментариев должна включаться в приложении целиком на выбранные блоги на уровне приложения.

    Пока остается только пилить шаблоны.

    в ответ на ​В блоге пишут отзывы. Под имя маскируют спам ссылку на свой сайт