4c0n / sylius-barcode-search-plugin
该软件包已被废弃,不再维护。未建议替代软件包。
插件,使用户能够使用相机搜索条形码。
0.0.5
2020-05-19 22:22 UTC
Requires
- php: ^7.4
- sylius/sylius: >=1.6.8 <1.7.0 || >=1.7.4 <1.8.0
Requires (Dev)
- behat/behat: ^3.4
- behat/mink: ^1.7@dev
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- behat/mink-selenium2-driver: ^1.3
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.0
- friends-of-behat/variadic-extension: ^1.1
- lakion/mink-debug-extension: ^1.2
- phpstan/phpstan-doctrine: ^0.11
- phpstan/phpstan-shim: ^0.11
- phpstan/phpstan-webmozart-assert: ^0.11
- sensiolabs/security-checker: ^5.0
- squizlabs/php_codesniffer: ^3.5
- symfony/browser-kit: ^4.4
- symfony/debug-bundle: ^4.4
- symfony/dotenv: ^4.4
- symfony/intl: ^4.4
- symfony/web-profiler-bundle: ^4.4
- symfony/web-server-bundle: ^4.4
Conflicts
- api-platform/core: 2.5.5
- doctrine/inflector: ^1.4
- sylius/grid-bundle: 1.7.4
- symfony/symfony: 3.4.7
- twig/twig: 2.6.1
README
此插件将 quagga2 与 Sylius 产品网格搜索集成。
它通过在搜索栏中添加一个按钮,使购物者可以使用设备的相机搜索 EAN 条形码。
当用户的浏览器支持且用户允许使用相机时,用户可以尝试扫描条形码。目前仅支持标准 EAN 条形码。
随后,如果识别出有效的 EAN 条形码,条形码将被用作搜索条件。在此示例中,产品名称是条形码。然而,可以将 EAN 存储在产品属性中,并配置产品网格将属性包含在搜索过程中。
支持的 Sylius 版本
1.6 |
1.7 |
安装
- 使用 composer 安装
composer require 4c0n/sylius-barcode-search-plugin
- 将捆绑包添加到 bundles.php
# config/bundles.php <?php return [ ... Nedac\SyliusBarcodeSearchPlugin\NedacSyliusBarcodeSearchPlugin::class => ['all' => true], ];
- 覆盖模板
{# templates/bundles/SyliusShopBundle/Product/Index/_search.html.twig #} <div class="ui segment"> <form method="get" action="{{ path('sylius_shop_product_index', {'slug': app.request.attributes.get('slug')}) }}" class="ui loadable form" id="nedac-sylius-barcode-search-plugin-search-form"> <div class="ui stackable grid" id="searchbar"> <div class="column" id="searchbarTextField"> {% for filter in products.definition.enabledFilters %} {{ sylius_grid_render_filter(products, filter) }} {% endfor %} </div> <div class="right aligned column" id="searchbarButtons"> <div class="ui buttons"> <button type="submit" class="ui primary icon labeled button"><i class="search icon"></i> {{ 'sylius.ui.search'|trans }}</button> <a href="#" class="ui primary icon labeled button" id="nedac-sylius-barcode-search-plugin-start-button"> <i class="barcode icon"></i> EAN </a> <a href="{{ path('sylius_shop_product_index', {'slug': app.request.attributes.get('slug')}) }}" class="ui negative icon labeled button"> <i class="cancel icon"></i> {{ 'sylius.ui.clear'|trans }} </a> </div> </div> </div> </form> </div> <div class="ui modal" id="nedac-sylius-barcode-plugin-scan-modal"> <i class="close icon" id="nedac-sylius-barcode-plugin-scan-modal-close-button"></i> <div class="header"> Scan barcode </div> <div class="nedac-sylius-barcode-plugin-viewport-container"> <div id="nedac-sylius-barcode-plugin-interactive" class="viewport"></div> </div> <div class="actions"> <div class="ui black deny button" id="nedac-sylius-barcode-plugin-scan-modal-stop-button"> Stop </div> </div> </div>
- 安装资产
bin/console sylius:install:assets
只需四个步骤!现在,您需要配置产品网格,以便包含 EAN 字段的字段被过滤。
设置开发环境
docker-compose build docker-compose up -d docker-compose exec php composer --working-dir=/srv/sylius install docker-compose run --rm nodejs yarn --cwd=/srv/sylius/tests/Application install docker-compose run --rm nodejs yarn --cwd=/srv/sylius/tests/Application build docker-compose exec php bin/console assets:install public docker-compose exec php bin/console doctrine:schema:create docker-compose exec php bin/console sylius:fixtures:load -n
运行测试
docker-compose exec php sh bin/console doc:sch:create cd ../.. vendor/bin/behat