thelia/dpd-pickup-module 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

thelia/dpd-pickup-module

Composer 安装命令:

composer require thelia/dpd-pickup-module

包简介

README 文档

README

  • Pickup Point delivery with DPD
  • Export / import orders

Installation

Manually

  • Copy the module into <thelia_root>/local/modules/ directory and be sure that the name of the module is DpdPickup.
  • Activate it in your thelia administration panel

Composer

Add it in your main thelia composer.json file:

composer require thelia/dpd-pickup-module:~2.0.0

fr_FR

Utilisation

Une page de configuration est mise à votre disposition pour vous permettre d'effectuer deux tâches: - exporter un fichier EXAPRINT (export.dat) contenant les informations sur les livraisons effectuées via DPD Pickup - configurer les tranches de prix des livraisons par DPD Pickup

Pour vous y rendre, il vous suffit d'aller dans le back Office, onglet "Modules" et de cliquer sur "Configurer" sur la ligne du module DPD Pickup. Pour exporter un fichier EXAPRINT, il faut renseigner tous les champs présents dans le formulaire.

Intégration

Le module utilise les hooks, vous n'aurez en principe rien à faire si votre template intègre bien tous les hooks de Thelia.

Si vous souhaitez faire votre propre intégration, suivez le détail ci-dessous :

Pour l'exemple d'intégration, j'ai utilisé une google map, ceci n'est pas nécessaire mais préférable. En effet, le module n'interagit pas avec pendant la commande. Une fois le module activé, il devient néanmoins indispensable de transmettre une variable $_POST['pr_code'] dans le formulaire "thelia.order.delivery", sinon, vous ne pourrez plus passer à l'étape 3 ( order-invoice ). De plus, une boucle "delivery.dpdpickup" est disponible et doit remplacer la boucle "delivery" dans order-delivery-module-list.html, les deux sont semblable, mais delivery.dpdpickup possède une variable en plus, qui permet de savoir si le module est ou non DpdPickup ( ce qui permet une intégration spécifique de la ligne DpdPickup). La variable "pr_code" doit contenir l'identifiant du point relais choisi par l'utilisateur. Une boucle vous est fournie pour obtenir les 10 points relais les plus proches de l'adresse par défault de l'utilisateur: dpdpickup.relais.around Sinon, une route est disponible pour obtenir 10 points relais dans une ville: /module/dpdpickup/{ville}/{code postal} Cette route pointe vers le controlleur "SearchCityController" qui génère un fichier json, que vous pouvez utiliser, par exemple, avec jquery/ajax.

Pour afficher l'adresse du point relais en adresse de livraison sur la page order-invoice.html, il vous suffit de replacer le type de la boucle nommée "delivery-address" en address.dpdpickup, à la place de "delivery"

Pour rajouter l'adresse de suivi du colis dans le mail de confirmation de la commande, une boucle est mise à votre disposition: "dpdpickup.urltracking" elle prend un argument ref, qui est la référence de la commande, et une sortie $URL. Si l'url ne peut être générée, elle ne renvoie rien. On peut donc l'intégrer de la manière suivante:

{loop name="tracking" type="dpdpickup.urltracking" ref=$REF} Vous pouvez suivre votre colis ici {/loop}

en_US

How to use

A configuration page is provided with the module, so you can: - export an EXAPRINT file (export.dat), with informations on all deliveries done with DPD Pickup - configure price slices for shipping zones.

You can use it in the back office by going to "Modules" tab, then "configure" button on DPD Pickup' line. For exporting an EXAPRINT file, you must complete the entire form.

Integration

This module uses native hooks. If your template use them you have nothing to do.

If you want to do your own integration, follow the description below :

For the integration example, I used a google map, but it's not necessary. In fact, the module doesn't interact with the map during the order. Once the module is active, you must create an input named "pr_code" in your form "thelia.order.delivery", whereas you won't be able to go to step 3 ( order-invoice ). Moreover, the loop "delivery.dpdpickup" is available and must replace "delivery" in order-delivery-module-list.html, they do the same thing, but delivery.dpdpickup has a new variable that allows you to know if the delivery module that's being looped is DpdPickup. The input "pr_code" must contain the ID of the pick-up & go store choosed by the user. A loop is provided to get the 10 nearest pick-up & go stores of user's default address: dpdpickup.relais.around There's also a route to get 10 pick-p & go stores in another city: /module/dpdpickup/{city}/{zipcode} This route uses "SearchCityController" controller. It generate a json output, which you can use with, for example, jquery/ajax.

If you want to show the store's address as delivery address, you just have to replace the "delivery-address" loop type by address.dpdpickup

thelia/dpd-pickup-module 适用场景与选型建议

thelia/dpd-pickup-module 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.15k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2015 年 04 月 17 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 thelia/dpd-pickup-module 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 thelia/dpd-pickup-module 我们能提供哪些服务?
定制开发 / 二次开发

基于 thelia/dpd-pickup-module 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.15k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 14
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 6
  • Forks: 14
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0
  • 更新时间: 2015-04-17