SS6: печатные формы с привязкой по типу доставки

info@ravencode.ru

Есть ли возможность привязать форму к каким-то конкретным видам доставки штатными средствами? Например, сделал я форму для отправки бандеролей почтой России и она выводится только для заказов с доставкой почтой России, а не во всех. Нашел только метод allowedCurrency для ограничения по виду валюты ((

26 апреля 2016
  • info@ravencode.ru 26 апреля 2016 09:55

    Плюс может кто знает как в requirements.php плагина прописать привязку к определенным плагинам т.е. чтобы без них плагин не работал.

  • Михаил Ушенин Webasyst 26 апреля 2016 10:03

    Файл requirements.php используется только при установке продукта с помощью "Инсталлера". Нужные вам проверки выполняйте в основном коде плагина.

  • info@ravencode.ru 26 апреля 2016 10:14

    Я разве писал что плагин будет устанавливаться не через инсталлер? Кстати подключите комментарии в этом разделе - неудобно, непонятно кому адресовано сообщение.

  • Syrnik.com 27 апреля 2016 18:18

    Нынешняя политика с requirements.php такая: что бы там ни было указано, проверку соответствия всем условиям (наличие расширений php и т.д.) нужно самостоятельно выполнять в коде. Этот самый requirements.php нужен только чтоб Инсталлер показывал чего-нибудь и пытался блокировать установку. Но, кажется, появились умники, оформляющие покупку, скачивающие и устанавливающие не через Инсталлер, а потом жалующиеся, что "ничего не работает". И, кстати, проверка требует, чтоб все сразу из коробки работало и даже полному кретину все сразу было понятно. (Однако, как гласит принцип Шоу "Создайте систему, которой сможет пользоваться идиот, и только идиот захочет ею пользоваться.")

    И, чтоб два раза не вставать — насчет привязки к конкретному плагину. В последний раз, когда я интересовался этим вопросом, официально было заявлено, что плагины, зависящие от других плагинов не будут допущены к публикации. По крайней мере платные.

  • Михаил Ушенин Webasyst 28 апреля 2016 02:13

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

  • Syrnik.com 28 апреля 2016 05:00

    Видимо, надо сохранять ссылки на сообщения годичной давности и более ранние.

    Я же не сам придумал, что плагин не может зависеть от других плагинов или от нескольких приложений. Ну хорошо, теперь, наверное, правила поменялись :) опять незаметно :)

  • Syrnik.com 28 апреля 2016 06:11

    А еще.

    Как правильно проверить версию фреймворка (или приложения)? А то вот сегодня нарисовался клиент, у которого фреймворк 1.5.0 и обновляться не хочет (или не может). Сподобился установить плагин (который, конечно, не работает ибо требует 1.5.3+)

  • Алексей Webasyst 28 апреля 2016 07:37

    wa('webasyst')->getVersion() или wa('installer')->getVersion();

  • info@ravencode.ru 28 апреля 2016 10:03

    Михаил Ушенин Webasyst "Опишите это в описании плагина, добавьте в коде проверки на существование нужного плагина — и пожалуйста."

    А как запись должна выглядеть?

    return array(
        'app.shop.myplugin'=>array(
            'version'=>'latest',
            'strict' => true
        ),
    );
  • Syrnik.com 28 апреля 2016 10:24

    О кстати и как правильно в requirements.php обозначать версию фреймворка? 'app.installer' , 'app.webasyst' или еще как?

  • info@ravencode.ru 28 апреля 2016 10:28

    Сергей Родовниченко requirements.php


  • Syrnik.com 28 апреля 2016 11:13

    Я 'latest' не пишу. Указываю конкретную версию. Оказывается есть ненулевое количество людей, не обновляющих систему. Очень часто либо сами, либо какие-нибудь нубы-ингераторы им код правят и запрещают обновляться строго-настрого.

  • Syrnik.com 28 апреля 2016 12:37

    Вообще версию Инсталлера проверять, на мой взгляд, не очень хорошо. Его может и не быть. А вот запилить внутрь фреймворка метод, проверяющий на соответствие требованиям и принимающий в качестве аргумента структуру из requirements.php — идея интересная. Заодно будет больше смысла у этого requirements.php

  • info@ravencode.ru 28 апреля 2016 16:43

    Сергей, Вам же объяснили нынешний принцип работы requirements.php: нет инсталлера - нет нужды и в проверке.

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

  • Syrnik.com 28 апреля 2016 17:12

    технически возможно. можно скачать любой продукт в центре заказчика, насколько я понимаю. можно вручную установить плагин и подключить его в конфигах.

    И по поводу проверки. Нынешние модераторы требуют чтобы плагин сам проверял наличие нужных компонентов. По крайней мере расширений php (simplexml, curl) точно. Без этого не пропускают.

    поэтому хочу больше смысла для requirements.php :)

  • info@ravencode.ru 28 апреля 2016 17:30

    Сергей, хм.. а мой мелкий плагин пропустили, я наоборот не зная таких тонкостей вынес проверку в requirements.php, иначе будет бестолковое дублирование проверки.

  • Павел Трофимов 28 апреля 2016 17:38

    Дублирования, как я понимаю, не будет. requirements отрабатывает только в момент установки. А тот же curl может быть снесен и после установки плагина.

  • info@ravencode.ru 28 апреля 2016 18:04

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

    В некоторых своих библиотеках делал по 2 класса: первый - использующий расширение, а второй - симулирующий его функционал. Так и код компактнее и кучи проверок не надо, но это уже флуд :)

  • Syrnik.com 29 апреля 2016 07:24

    Пропустили? Хм. У меня без такой проверки уже давно перестали пропускать .:)

    Я наступал на грабли с отсутствующими расширениями не теоретически, а на практике. :-/ Человек на тестовой машине все сконфигурировал, перенес на хостинг и всё перестало работать



Чтобы добавить комментарий, зарегистрируйтесь или войдите