fmdd / dialann-website
此软件包已被弃用且不再维护。未建议替代软件包。
Dialann 电商网站插件
此软件包尚未发布版本,且信息不多。
README
包含Dialann公司Sylius项目所需的大量通用功能。
安装
$ composer require fmdd/dialann-website
将插件依赖项添加到您的 config/bundles.php 文件
... FMDD\DialannWebsitePlugin\FMDDDialannWebsitePlugin::class => ['all' => true], FMDD\SyliusCartBlamerPlugin\FMDDSyliusCartBlamerPlugin::class => ['all' => true], FMDD\SyliusShopServicePlugin\FMDDSyliusShopServicePlugin::class => ['all' => true], FMDD\SyliusMarketingPlugin\FMDDSyliusMarketingPlugin::class => ['all' => true], FMDD\SyliusEmailOrderAdminPlugin\FMDDSyliusEmailOrderAdminPlugin::class => ['all' => true], FOS\ElasticaBundle\FOSElasticaBundle::class => ['all' => true], BitBag\SyliusElasticsearchPlugin\BitBagSyliusElasticsearchPlugin::class => ['all' => true], Knp\Bundle\MarkdownBundle\KnpMarkdownBundle::class => ['all' => true], Knp\Bundle\SnappyBundle\KnpSnappyBundle::class => ['all' => true], FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true], SitemapPlugin\SitemapPlugin::class => ['all' => true], BitBag\SyliusCmsPlugin\BitBagSyliusCmsPlugin::class => ['all' => true], Sylius\InvoicingPlugin\SyliusInvoicingPlugin::class => ['all' => true], Prometee\PayumStripeCheckoutSessionBundle\PrometeePayumStripeCheckoutSessionBundle::class => ['all' => true], Prometee\SyliusPayumStripeCheckoutSessionPlugin\PrometeeSyliusPayumStripeCheckoutSessionPlugin::class => ['all' => true] ...
将插件资源导入到您的配置文件。
#config/packages/_sylius.yaml imports: ... - { resource: "@FMDDDialannWebsitePlugin/Resources/config/config.yml"}
创建一个文件 config/fmdd_dialann_website.yaml
并写入以下内容。别忘了填写参数。
#config/fmdd_dialann_website.yaml parameters: email.admins: ['email.admins@defined.com'] email.distributor: ['email.admins@defined.com'] email.exception: ['email.admins@defined.com'] email.no_reply: 'no-reply@defined.com' website.name: "My name website" url.facebook: "" url.instagram: "" url.twitter: "" url.youtube: "" url.pinterest: "" url.linkedin: "" url.datatech.catalog: "" url.cdn.product.big: "https://cdn.example.com/#brand#/products/big/" url.cdn.product.small: "https://cdn.example.com/#brand#/products/small/" url.cdn.product.brand: "https://cdn.example.com/image-marque/#brand#.png" url.cdn.taxon.image: "https://cdn.example.com/image-taxon/#path#" url.cdn.image_loader: "" contact.phone: "" contact.address.street: "" contact.address.locality: "" contact.address.state: "" contact.address.pc: "" google.recaptcha: "" contact.email: "" contact.opening_time: "" partner.enabled: true open.shop: true user.shop: true user.price: true other.shop: true other.price: true price.ht: true price.tva: true technical.sheet.url: "https://print_technical/" color.main: "#ffffff" email.image.header: "assets/custom/header_email.jpg" sync.global.website: '' sync.global.main_taxon: '' sync.global.channel: '' sync.global.from_channel: '' sync.erp.name: '' sync.erp.url: '' sync.erp.username: '' sync.erp.password: '' sync.erp.key: '' sync.erp.secret: '' sync.website.name: '' sync.website.url: '' sync.website.username: '' sync.website.password: '' sync.website.key: '' sync.website.secret: '' aws.key: "" aws.secret: "" aws.region: "" debug_mode: false
导入配置路由文件
#config/routes/sylius_admin.yaml fmdd_dialann_website_admin: resource: "@FMDDDialannWebsitePlugin/Resources/config/admin_routing.yml" prefix: /whateveryouwant
#config/routes/sylius_shop.yaml fmdd_dialann_website_shop: resource: "@FMDDDialannWebsitePlugin/Resources/config/routing.yml"
在相应的文件中添加一些事件块
- 右上角的github横幅
# @SyliusShop/layout.html.twig <html> ... <body> {{ sonata_block_render_event('fmdd.event.github.become.distributor') }} ... </body> </html> # Include this : <body class="pushable"> {% include "@FMDDDialannWebsitePlugin/Miscellaneous/_sideNav.html.twig" %} <div id="main" class="wrapper home-7"> ...
- 将
@SyliusShop/Order/show.html.twig
中的支付按钮表单替换为
{{ sonata_block_render_event('fmdd.event.order.show.submit.btn') }}
在注册表单视图中,添加 TypeCustomer 小部件
# @ShopBundle/Register/_form.html.twig ... <div class="form-fild col-md-6 no-margin"> <div style="display: -webkit-inline-flex">{{ form_label(form.typeCustomer) }} <span class="red">*</span> <span class="red margin-left-15">{{ form_errors(form.typeCustomer) }}</span></div> {{ form_widget(form.typeCustomer) }} </div> ...
将导入改为 Customer 实体
# App\Entity\Customer\Customer.php use Sylius\Component\Core\Model\Customer as BaseCustomer; # by use FMDD\DialannWebsitePlugin\Entity\Customer as BaseCustomer;
在services.yml中添加别名
services:
...
app.form.extension.type.customer_registration:
class: FMDD\DialannWebsitePlugin\Form\Extension\CustomerRegistrationTypeExtension
替换插件中的某些视图
$ cp -r vendor/fmdd/dialann-website/tests/Application/templates/bundles/ ./templates/
添加一个cron任务,每天使用以下命令运行 sync
$ php bin/console fmdd:sync:background
- 以 PlatformSH 为例
#.platform.yaml crons: synchronization: spec: '0 0 * * *' cmd: | if [ "$PLATFORM_BRANCH" = master ]; then php bin/console fmdd:sync:background fi
您还可以添加此cron来检查Elastic Search服务是否没有数据
crons:
check_fos_elastica_populate:
spec: '55 * * * *'
cmd: 'php bin/console fmdd:CheckFosElasticPopulate'
请确保使用以下JS库
- Slick (https://github.com/kenwheeler/slick/)
- ImageDefer (https://github.com/quru/image-defer/)
市场插件配置
- 市场插件README:[https://github.com/SFMDD/SyliusMarketingBundle]
{{ sonata_block_render_event('fmdd.event.marketing.confirm_registration') }}
{{ sonata_block_render_event('fmdd.event.marketing.promotion') }}
{{ sonata_block_render_event('fmdd.event.marketing.search') }}
测试
- Email Distributor/Contact:
php bin/console fmdd:email:distributor test@test.com --env=dev