ray-nl / sendcloud-for-simple-commerce
此包最新版本(v1.0.0)没有提供许可信息。
v1.0.0
2022-09-26 11:33 UTC
Requires
- php: ^8.0
- jouwweb/sendcloud: ^3.10
- statamic/cms: 3.3.*
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/larastan: ^2.0
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.5.10
This package is not auto-updated.
Last update: 2024-09-26 03:28:47 UTC
README
直接从Statamic使用Simple Commerce创建Sendcloud的货运,可以直接下载标签并将订单标记为已发货。
获取运输方式
首先,您需要从Sendcloud选择您网店中要使用的运输方式。只需运行以下命令即可选择。
php artisan sendcloud:generate-shipping-methods
添加操作到控制面板
如果您想创建标签并将订单标记为已发货,请将以下操作添加到您的应用程序中
<?php namespace App\Actions; use DoubleThreeDigital\SimpleCommerce\Facades\Order; use Illuminate\Support\Facades\Storage; use RayNl\SendcloudForSimpleCommerce\Services\SendcloudService; use Statamic\Actions\Action; use Statamic\Contracts\Entries\Entry; class DownloadLabel extends Action { public function visibleTo($item) { if ($item instanceof Entry) { return $item->collection->handle === 'orders'; } return false; } public function visibleToBulk($items) { return false; } public function download($items, $values) { foreach ($items as $item) { $shippingMethod = new ($item->shipping_method->first())(); if ($shippingMethod->getSendCloudId() !== null) { if (!Storage::exists("labels/{$item->order_number}/label-{$item->order_number}.pdf")) { if ($item->sendcloud_id !== null) { $sendcloud = new SendcloudService(); $sendcloud->getParcelFromId($item->sendcloud_id); $sendcloud->createLabel($shippingMethod->getSendCloudId()); Storage::put('labels/' . $item->order_number . '/label-' . $item->order_number . '.pdf', $sendcloud->createLabelPdf()); } } Order::find($item->id)->markAsShipped(); return storage_path("app/labels/{$item->order_number}/label-{$item->order_number}.pdf"); } } } }