waResearchLab


waResearchLab

Партнер-эксперт: http://experts.webasyst.ru/directory/834834/warslab/ Партнер-эксперт
Партнер-разработчик: https://www.webasyst.ru/store/developer/834834/ Партнер-разработчик

  • waResearchLab waResearchLab 1 декабря 2022 14:11 #

    Надо было добавить `request_format`, тогда всё норм

    $socket = new waNet(['format' => waNet::FORMAT_JSON, 'request_format' => waNet::FORMAT_RAW]);

    в ответ на waNet. Получение токена для waAPI

  • waResearchLab waResearchLab 4 ноября 2022 20:17 #

    Ну и вдогонку, чтоб 2 раза не вставать...  Разместив свой элемент в панели управления (см п1 предыдущего комментария) "вручную" (через консоль браузера), зашел в товар, побродил по вкладкам, вернулся в раздел Товары (нажав Закрыть на странице просмотра/редактирования товара) - вуаля: элемента уже нет. Собственно вопрос: как его там сохранить после потенциально успешного размещения?

    в ответ на Предварительная версия Shop-Script 9.3 с обновлённым разделом товаров

  • waResearchLab waResearchLab 4 ноября 2022 19:40 #

    Расскажите пожалуйста (можно просто концептуально) как в новом разделе Товары добавить свое содержимое в:

    1. Панель инструментов (например между элементами Витрины и Теги)
    2. В перечень действий с выделенными товарами

    С использованием описанных в документации инструментов (хук backend_prod_layout + обработчик wa_loaded) что-то не получилось...

    в ответ на Предварительная версия Shop-Script 9.3 с обновлённым разделом товаров

  • waResearchLab waResearchLab 26 октября 2022 15:27 #

    Начиная с какой версии фреймворка поддерживается проверки лицензий и пр?

    в ответ на Премиум-версии для приложений, плагинов, тем дизайна Webasyst

  • waResearchLab waResearchLab 12 октября 2022 11:37 #

    Да. И там нет такого метода.

    P.S. Хотя нет... По тексту действительно кажется что речь о waSystemPluginModel.
    Но по факту речь о waSystemPlugin, и там он действительно есть.

    Вопрос закрыт.

    в ответ на Плагины доставки. Документация

  • waResearchLab waResearchLab 9 октября 2022 12:50 #

    Есть штатный метод для понимания какой режим раздела Товары включен у пользователя?

    в ответ на Предварительная версия Shop-Script 9.3 с обновлённым разделом товаров

  • waResearchLab waResearchLab 20 сентября 2022 09:11 #

    Хорошо, в ночи не обратил внимание на цифры. Ок, пусть 128 будет маловато. Но все же старый раздел товары работал при таких ограничениях без проблем. Да и вообще на этом ПК много чего пробовалось и разрабатывалось, зачастую на БД живых магазинов, и в лимит памяти если когда то и упирался, то это были единичные случаи. А тут сходу уперся....

    Но ладно. Увеличил до 256. Раздел Товары открылся. Но открылся за 12-15 секунд. Старый раздел товары открывался секунды....  Ну в общем без каких-либо задержек.

    Характеристики. Да, с характеристиками в этой БД бардак. Но повторюсь, это БД живого магазина. Т.е. вполне конкретный пользователь при выходе нового шопа получит приблизительно то, что вижу сейчас я. А я вижу: открытие всплывающего списка Параметры - порядка 5 секунд. Выполнение фильтра по заданным условиям с результатом 320 товаров - порядка 20 секунд.

    И вдогонку: 2 условия. Каждое отрабатывало секунд по 20. Сколько мне потребуется времени чтоб вернуться к полному перечню товаров? Правильно: порядка 40 секунд.

    в ответ на Предварительная версия Shop-Script 9.3 с обновлённым разделом товаров

  • waResearchLab waResearchLab 20 сентября 2022 00:53 #

    Накатил базку из живого магазина (90к товаров) , при переходе в новый раздел Товары получил 500 с соответствующей записью в логах: 

    Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /wa-system/database/waDbMysqliAdapter.class.php on line 143

    Старая версия раздела Товары работает при этом нормально.

    в ответ на Предварительная версия Shop-Script 9.3 с обновлённым разделом товаров

  • waResearchLab waResearchLab 28 июля 2022 15:50 #

    промокод действителен не на одну лицензию, а на то кол-во лицензий, которое указал покупатель.

    Правильно. Промокод же на продукт, а не на лицензию для продукта. Промокод используется один раз, количество лицензий - вопрос вторичный. Не вижу повода для паники )

    в ответ на Разовый промокод в маркете Webasyst не совсем разовый

  • waResearchLab waResearchLab 30 июня 2022 11:40 #

    Замените

    {foreach $photos as $photo}

    на

    {foreach array_rand($photos, 4) as $key}
        {$photo = $photos[$key]}

    в ответ на Фото: Как вывести указанное число случайных фотографий из альбома?

  • waResearchLab waResearchLab 16 июня 2022 16:49 #

    Что проверяют модераторы, когда вы отправляете свой продукт на публикацию в магазине Webasyst

    Раздел "Чего не должно быть в программном продукте"

    34. Плагин или приложение при обработке события либо в хелпере HTML-шаблона используют прерывание выполнения PHP-скрипта, например, с помощью функции die().

    =)

    в ответ на Прерывание хука? Прерывание action? как реализовывать?

  • waResearchLab waResearchLab 15 июня 2022 12:30 #

    На мой взгляд, описание настройки не подразумевает большое количество текста. Если же такая необходимость все же есть - используйте комбинации и последовательности разных видов штатных контролов. Например, waHtmlControl::HELP

    в ответ на Описание настройки на странице настроек разрабатываемого плагина

  • waResearchLab waResearchLab 6 мая 2022 14:15 #

    По п.1 как-то так:

    1. Садимся на хук routing 

        public function handlerRouting($route = [])
        {
            if (wa()->getEnv() === 'backend') {
                return ['products/<id>/plugin_id/?' => 'backend/viewInfo'];
            }
        }
    

    2. Создаем соответствующий заявленному роутингу контроллер 

    class shopPluginidPluginBackendViewInfoAction extends waViewAction

    3. Соответственно, элемент который вы вывели в сайдбар должен вести на URL вида

    /shop/products/424/plugin_id/

    в ответ на webasyst 2.0 - Работа с товаром

  • waResearchLab waResearchLab 28 марта 2022 21:54 #

    Хорошо, поменяю пример =)

    Нельзя играть в настольный теннис по правилам хоккея =)

    в ответ на Обращение к руководству Webasyst (2)

  • waResearchLab waResearchLab 28 марта 2022 21:42 #

    Кстати, если вы когда-то публиковали продукты в App Store или Google Play, там, кстати, точно такая же механика, такие же правила.

    Когда варишь солянку, тоже есть определенные правила. Но они неприменимы когда делаешь оливье.

    Я искренне не понимаю что общего между App Store или Google Play и маркетом Webasyst, кроме того, что в них можно "заглянуть" через браузер и отслюнявить бабосиков. 

    Не факт что правила применяемые в одних средах применимы к другим средам.

    в ответ на Обращение к руководству Webasyst (2)

  • waResearchLab waResearchLab 14 марта 2022 12:42 #

    Очевидно и работоспособно

    При оформлении заказа менеджером в бекенде работать не будет

    в ответ на Данные о товаре в плагине доставки

  • waResearchLab waResearchLab 12 марта 2022 18:16 #

    О штатных хелперах вроде не слышал. Поэтому, видимо, создать в плагине хелпер, который отдает настройки, и вызвать его в теме.

    в ответ на Как получить настройки плагина в теме дизайна?

  • waResearchLab waResearchLab 11 марта 2022 13:44 #

    Навскидку, не пробуя и глубоко не копая: Да, всё так. Судя по коду класса waAppConfig этот файл зачитывается исключительно из каталога приложения. Но если посмотреть целиком на этот класс, и в частности на то что относится к factories

           if (file_exists($this->getAppPath().'/lib/config/factories.php')) {
                $this->factories = include($this->getAppPath().'/lib/config/factories.php');
            }
            if (!empty($this->options['factories']) && is_array($this->options['factories'])) {
                foreach ($this->options['factories'] as $k => $v) {
                    $this->factories[$k] = $v;
                }
            }

    и учесть то, что этот класс является 

    class waAppConfig extends SystemConfig

    а сам SystemConfig доступен к редактированию и расположен в wa-config, то, думаю, через 

    $this->options['factories']

    можно добиться желаемого эффекта.

    в ответ на Реализации своего класса капчи

  • waResearchLab waResearchLab 17 февраля 2022 16:04 #

    Да. Меня начинает преследовать ощущение бардака, а бардак в IT я очень не люблю =)

    Причины, конечно же, не назовете? )

    Хорошо, придется принять и следовать. Спасибо.

     P.S. Добавьте уж тогда его автоматическое формирование при использовании

    cli.php createPlugin | createApp

    в ответ на Рекомендации по обновлению программных продуктов с поддержкой Shop-Script 9

  • waResearchLab waResearchLab 17 февраля 2022 15:10 #

    Михаил, скажите, а почему совместимость с 9 версией должна объявляться в отдельном файле, а не как было всегда - в plugin.php|app.php ?  Для этого есть какие-то объективные причины?

    в ответ на Рекомендации по обновлению программных продуктов с поддержкой Shop-Script 9

  • waResearchLab waResearchLab 14 февраля 2022 12:38 #


    @ Владимир Тупоршин-мл.

    Да, понятно что вопрос очень непростой и неоднозначный. Но это не отменяет саму проблему. Поэтому хочется или нет, но решение надо искать. В целом, позиция Webasyst понятна и имеет под собой основу. Но позволю себе высказать мнение касательно пары пунктов.

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

    Временная лицензия была внедрена не так давно (летом 21?) и т.к. у нас нет своих продуктов которые более или менее активно по ней продаются, то придется попробовать проанализировать ее успешность на других продуктах, хоть и с каким-то допуском. С момента ее внедрения в маркете Webasyst появилось только одно новое приложение которое использует этот вид лицензирования. Это приложение Ozon от давнего и надежного стороннего разработчика BodySite. Лирическое отступление: а что же заставило этого опытного разработчика сделать приложением инструмент, который по всем показателям должен быть плагином? Да, правильно. Именно схема лицензирования. И теперь маркет Webasyst пополнился еще одним псевдоприложением, которое не несет самостоятельно вообще никакого функционала, а может принести пользу только и исключительно в связке с Shop-Script. Но зато маркет Webasyst - свободный маркет. Извините, не удержался =) По вполне понятным причинам мы периодически наблюдали за развитием этого продукта, и даже эти несистематические наблюдения привели к достаточно интересным выводам. Продукт был опубликован 05/10/2021. Стоимость "вечной" лицензии составляла 29999, годовой 6599 (тут могу ошибаться, но на суть это не влияет). Далее была неделя скидок, за которую продукт набрал некоторую массу пользователей и.... И всё. После этого количество пользователей практически не приростало, даже не смотря на то что продукт интересный, востребованный, от зарекомендовавшего себя разработчика. И 08/12/2021 стоимость "вечной" лицензии была снижена на треть до 19999. А вот это любопытно... Мы же помним, что изначально продукт был выпущен именно приложением исключительно из-за схемы лицензирования. Т.е. ставка была сделана на "временную подписку". Т.е. стоимость вечной лицензии должна была стимулировать пользователей обращаться к подписке на год. И вот через каких-то 2 месяца разработчик на треть сокращает стоимость этой самой лицензии по которой ему работать то не очень то и хотелось. Мне кажется, это говорит о том, что пользователя не привлекла "временная лицензия". И, думаю, не привлекла потому, что она не предполагает возможность использования продукта по завершении срока действия лицензии. Т.е. хочешь ты того или нет, но придется платить вне зависимости ни от чего, иначе продукт перестанет работать. Вы предлагаете спроецировать эту схему на другие виды продуктов. А не окажется ли так, что итог-то будет аналогичным? И для конечного пользователя ничего не изменится, кроме увеличения стоимости продуктов по вечной лицензии? Боюсь вызвать на себя гнев коллег по цеху, но я, честно говоря, против. Лучше уж никак, чем так. Это не даст ожидаемого результата, а принесет только разочарование не только разработчикам, но и пользователям, ради которых мы собственно тут и пыжимся.

    Т.е. вся загвоздка именно в концептуальном отличии "временной лицензии" от "подписки на обновление", которое заключается в невозможности использования продукта после окончания срока действия лицензии. Поверьте, никто из разработчиков (по крайней мере "старых", ведущих) не хочет оставлять пользователя без продукта. Стоимось подписки за обновления, с речи о которой и начался этот топик, тоже никто не думает задирать даже до уровня льготной подписки на SS (и даже по старым ценам). Речь идет в большинстве своем о трехзначных цифрах 150-700 р/год. Да и те пользователь не обязан платить, если ему не нужны обновления. А вы пройдитесь по админкам пользователей. Цифры переваливающие за пару десятков над значком инсталлера - это чуть ли не поголовная ситуация. Но пользователь продолжит пользоваться продуктом. Просто не будет его обновлять. Если же спроецировать "временные лицензии" и на плагины - этим инструментом начнут пользоваться. От безысходности. Но как это скажется на общей лояльности к системе - вопрос очень неоднозначный.

    Ну и пару слов про маркет. Не могу пройти мимо любимого "дома". А в чем заключается эта свобода? В том что кто угодно может публиковать что угодно вне зависимости от функционала, юзабилити, интерфейсов? Так разве ж это свобода? По-моему, раньше это называлось бардак. Я понимаю что вы не в силах контролировать всё. Но какие-то концептуальные вещи можете же? Можете. Но не хотите. Поэтому и плодятся псевдоприложения без функционала, поэтому пользователю и не найти в маркете то, что ему надо. Про "не найти" кстати не пустые слова. Имею на руках вполне себе конкретную статистику из которой это четко видно. Да и на вопросы от пользователей вида "подскажите плагин, не могу найти... " отвечаю с завидной периодичностью. Вот он, свободный маркет. А может одной из составляющей этой свободы является система ранжирования? Или проставление Webasyst разного рода тегов, которые в соседнем топике предлагалось иметь в виду, но не обращать внимание? =) Или в чем она свобода то? В возможности публикации копий продуктов с приставкой PRO? Я даже не буду вдаваться в технические детали этого сомнителдьного предложения, но я спрошу: а что станет с этим свободным маркетом, если PRO-клоны начнут появляться там с завидной периодичностью? Нет, ребята, такой хоккей нам не нужен (с). А уж пользователям - и подавно.
    Бытует мнение, что маркет Webasyst развивается (существует?) по образу и подобию всяких гугло-эпло-сторов. Здорово, конечно, НО!!! Webasyst - не гугл и не apple. И я даже не о масштабах. Это концептуально разные вещи, с иными целями, с иными задачами. И как следствие - с иными рычагами управления. Хорошо, если уж так хочется сопоставления с этими магазинами, то маркет WA -
    это гугло-эпло-сторы на этапе задумки. Даже не первичной реализации. Что дает эта псевдосвобода? Есть какой-то конкретный результат, кроме бардака? Штабелями приходят и оседают новые разработчики? Вроде бы нет... С завидной регулярностью появляются новые достойные продукты? Тоже вроде бы нет... Нет, ну появляются, конечно, но не в тех количествах и уж никак не в зависимости от наличия этой псевдосвободы. Так для кого она, эта свобода? Я вижу для себя только один ответ: для Webasyst. Я не думаю что Webasyst хочет тем самым обеспечить себе свободу от ответственности. Склонен считать, что этим самым Webasyst просто оправдывает свое нежелание вкладываться (ресурсами, финансово) в работу с партнёрами. Хорошо, "партнёр" - очень громко. Со сторонними разработчикамию. Хорошо. А итог-то каков? А нет итога. Никакого. Всё пущено на самотёк. Но ребята, давайте будем честными: Webasyst не та компания, которая может себе позволить разбрасываться активными разработчиками. А чтобы не разбрасываться - надо регулировать. А чтобы регулировать - надо вкладываться. Ну или упиваться этой свободой, приоткрыв ширму которой можно в итоге ничего и не увидеть. Даже бардака.

    P.S. Пока писал ответ, получил предложение от одного разработчика о продаже его аккаунта. Разработчик из "старых", с уникальными продуктами и большим количеством их установок. И я точно и достоверно знаю: он любит свои продукты. Но еще больше он любит пользователей своих продуктов. А много ли у Webasyst сторонних разработчиков с аналогичным отношением? Думаю, мы все знаем ответ на этот вопрос. Да, он свободен в своём выборе. Только, боюсь, в данном случае его понимание свободы было подавлено свободой маркета Webasyst.

    в ответ на Обращение к руководству Webasyst

  • waResearchLab waResearchLab 11 февраля 2022 20:49 #

    Из документации:

    Программный продукт должен содержать конфигурационный файл shop_support.json следующего формата:

    Т.е. вне зависимости использует ваш продукт что-либо, или нет.

    Как я понял для себя, если продукт ничего из перечисленного не использует - просто добавляем этот файл с объявленной полной поддержкой.

    в ответ на Рекомендации по обновлению программных продуктов с поддержкой Shop-Script 9

  • waResearchLab waResearchLab 11 февраля 2022 20:47 #

    В рассылке опечатка. См. ветку shop_frac.

    в ответ на Рекомендации по обновлению программных продуктов с поддержкой Shop-Script 9

  • waResearchLab waResearchLab 11 февраля 2022 15:16 #

    Не совсем понятно как соотносятся этот абзац

    Продуктам, поддерживающим расширенные возможности «ПРЕМИУМ», будет отдаваться более высокий приоритет при представлении в магазине Webasyst и продвижении среди пользователей.

    и абзац из документации:

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

    Поясню что именно непонятно.

    Сейчас в маркете у продуктов есть ряд тегов. Возьмем те, которые предоставляют приоритет: featured, homepage. Исходя из первого абзаца я делаю вывод что продукт обладающий поддержкой версии Премиум и имеющий, например, тег featured будет отображаться "выше" чем продукт с тегом featured, но без поддержки версии Премиум. Хорошо. Тут вопросов нет.

    Но читаю второй абзац, и начинаю непонимать: получается, если продукту будет проставлен некий тег (назовем его premium), то этот продукт будет "выше" даже тех продуктов, которые имеют тег featured и заявлена поддержка версии Премиум. А что будет являться критерием простановки такого тега? Да, я понимаю: на усмотрение модератора. Но это усмотрение должно же хоть на чем-то основываться? В поддержке версии Премиум нет ничего сверхсложного (если верить описанию). Поэтому продукт либо будет поддерживать полностью, либо не будет поддерживать вовсе. Частично - это будет скорее исключением. Тогда что будет являться критерием, памятуя о тегах featured? Для чего нужен этот новый тег? Если у продукта заявлена поддержка версии Премиум и он имеет тег featured, то что может являться основанием для того, чтобы некий иной продукт с заявленной поддержкой версии Премиум, но не имеющий например тега featured, представлялся бы в маркете WA на более выгодных позициях?


    в ответ на Рекомендации по обновлению программных продуктов с поддержкой Shop-Script 9

  • waResearchLab waResearchLab 3 февраля 2022 12:50 #

    То что подобные записи лезут в лог при метаобновлении - это норма. Ну выбран такой подход и  и выбран. На всякий случай, к вашему сведению: эти записи делаются осознанно.  А вот если такое лезет в админке - это уже совсем другой коленкор. 

    в ответ на Query Error 1054: Unknown column 'part_number' in 'field list'

  • waResearchLab waResearchLab 2 февраля 2022 12:09 #

    Вы уж определитесь: в логах вы видите это или "при входе в админку"

    в ответ на Query Error 1054: Unknown column 'part_number' in 'field list'

  • waResearchLab waResearchLab 31 января 2022 19:03 #

    Это не ошибка, это штатная ситуация для метаобновлений.

    в ответ на Query Error 1054: Unknown column 'part_number' in 'field list'

  • waResearchLab waResearchLab 25 января 2022 22:15 #
  • waResearchLab waResearchLab 14 января 2022 14:57 #

    Из практических навскидку могу назвать 2 задачи, которые по моему мнению достаточно критичны:

    1. Актуализация остатков в маркетплейсах. Если магазин работает достаточно активно (а если магазин размещен на нескольких маркетплейсах, то заказы приходят достаточно часто, до 300 в сутки), то чтобы не актуализировать остатки по всему ассортименту магазина на маркетплейсе хотелось бы делать это с некоторой периодичностью (например раз в час по всему ассортименту) + точечно по тем товарам, у которых изменились остатки. А для этого нужен хук, потому как без него - это гопак на костыле с выподвывертами, не дающий гарантированного результата. Это важно потому, что если на каком-либо маркетплейсе закажут товар по которому с момента последней полной актуализации остатков были изменения (например купили 5 штук на другом маркетплейсе и на складе товар закончился)  и продавец не сможет выполнить свои обязательства, то это приведет к понижению его рейтинга с соответствующими финансовыми потерями.
    2. "Лучше горькая но правда, чем приятная, но лесть" (с)  =)   В SS система списания ооочень дубовая. Зачастую пользователю необходимы разные условия для списания товаров с того или иного склада. Да хотя бы обеспечить чтобы склад не уходил в минус. На эту тему есть пара плагинов, один из которых снят с продажи именно по тойцпричине, что исполнение гопака на костыле с выподвывертами не дает гарантированного результата, и всех вариаций учесть никак не получается, т.к. не удается гарантированно понять - списание произошло/изменилось или нет, и до складов процесс не доходил. В общем там много всего, и такой хук позволил бы очень упростить работу и дать пользователям дополнительный инструмент по списаниям с конкретных складов по разным условиям.

    в ответ на Хук на списание остатков

  • waResearchLab waResearchLab 12 января 2022 14:01 #
    1. В моем конкретном случае важен лишь факт списания. ID артикула и товара, подлежащее списанию количество с каждого склада.
    2. Не претендую на полный ответ, но знаю точно что возможность изменять склад списания и количество будут очень очень полезны
    3. Да, лучше оба варианта.

    в ответ на Хук на списание остатков