定制 traw/vcfqr 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

traw/vcfqr

Composer 安装命令:

composer require traw/vcfqr

包简介

Create vcf card with QR Code

README 文档

README

Create QR codes for vcf download or URLs

Installation

composer require traw/vcfqr

Usage

Either use the available ViewHelpers or call the Service classes for your own implementation

Settings

There are some extension settings

  • enableExamples: Makes example content elements available that show the usage of the ViewHelpers, don't forget to add the typoscript include
  • storageUid: the uid of your file storage (e.g. fileadmin, leave as 0 to use the default storage)
  • qrfolder: the folder name where the qr code files should be stored inside your {storageUid}
  • qrcodeCacheLifetime: How long a file should stay cached before it is overwritten
  • vcardVersion: Which version of vCard should be used (2.1, 3.0 or 4.0) - see https://de.wikipedia.org/wiki/VCard

Available ViewHelpers

Create QR Code for typolink

For example in a content element, add the Link/QRCode ViewHelper

<!-- Get the QR Code svg as inline html
<div style="width:300px;height:300px;">
    <f:format.raw>
        <vcf:link.QRCode parameter="{data.header_link}" fileName="{data.tx_vcfqr_filename}" returnValue="content"/>
    </f:format.raw>
</div>

<!-- Get the QR Code svg in an image tag -->
<f:image src="{vcf:link.qRCode(fileName: data.tx_vcfqr_filename, parameter: data.header_link, returnValue: 'url')}" width="300" height="300" />
  • a parameter must be supplied, for example `t3://page=123 (but could be any typo3 url to pages, records, etc. as long as it is configured in your Linkhandler)
  • a filename for the svg must be supplied
  • returnValue must be url or content (default)

Create QR Code to download the vCard of an address record

Place it for example inside the tt-address partials

<!-- Get the QR Code svg as inline html -->
<div style="width:300px;height:300px;">
    <f:format.raw>
        <vcf:address.qRCode address="{data.tx_vcfqr_address}" fileName="{data.tx_vcfqr_filename}" returnValue="content"/>
    </f:format.raw>
</div>

<!-- Get the QR Code svg in an image tag -->
<f:image src="{vcf:address.qRCode(address: data.tx_vcfqr_address, fileName: data.tx_vcfqr_filename, returnValue: 'url')}" width="300" height="300" />
  • an address uid must be supplied
  • (optional) a filename for the svg must be supplied, if none is supplied, the file will be called {addressUid}_{currentPageUid}.svg
  • returnValue must be url or content (default)

Create a link to download the vCard of an address record

Place it for example inside the tt-address partials

 <vcf:address.vcf address="{data.tx_vcfqr_address}"
                     class="vcf-download"
                     additionalAttributes="{aria-role:'button'}"
                     title="Download vCard"
                     textWrap="<span>|</span>"
    >Download vCard</vcf:address.vcf>
  • an address uid must be supplied
  • class, additionalAttributes,title,textWrap are optional and work just like in f:link.typolink

Tested in TYPO3 12.4.20 & TYPO3 13.4/ dev-main

traw/vcfqr 适用场景与选型建议

traw/vcfqr 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.51k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2024 年 09 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「TYPO3 CMS」 「qr-code」 「vcf」 「TYPO3 12」 「TYPO3 13」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

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

围绕 traw/vcfqr 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 1.51k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2024-09-06