beastbytes/yii2-microformats 问题修复 & 功能扩展

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

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

beastbytes/yii2-microformats

最新稳定版本:v1.0.0

Composer 安装命令:

composer require beastbytes/yii2-microformats

包简介

Yii2 Widget to generate microformats2 from model data

README 文档

README

This extension is a Yii2 Widget to generate microformats from model data; also included is a Formatter class for formatting of WGS84 coordinates.

For license information check the LICENSE-file.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist beastbytes/yii2-microformats

or add

"beastbytes/yii2-microformats": "~1.0.0"

to the require section of your composer.json.

Usage

Use this extension in a view in a similar way to yii\widgets\DetailView (it's a child class of DetailView).

Let's generate an "h-card" from a user model - $user - that has the following relations:

  • profile - that stores the user's name
  • address - for the user's address
  • phone - for the user's phone number

In the view:

echo Microformat::widget([
    'microformat' => 'h-card', // name of the microformat
    'model' => $user, // the model that provides the data
    'attributes' => [ / the attributes array specifies the microformat properties
        'p-name:profile.name', // get the user's name from the profile relation
        'p-email',
        'p-tel:phone.value',        
        [ // Additional markup that is not a microformat property
            'value' => 'Address',
            'template' => '<div class="h-card__title">{value}</div>' // with it's own template
        ],
        [
            'property' => 'p-adr',
            'microformat' => 'h-adr, // Markup the address with an embedded h-adr microformat
            'model' => $user->address, // we can specify a new model for embedded microformats; if not given the parent microformat model is used
            'template' => '<div {options}>{value}</div>', // a new template for h-adr
            'attributes' => [
                'p-street-address', // fetch data from $user->address->street_address
                'p-locality',
                'p-region',
                'p-postal-code',
                [
                    'property' => 'p-geo',
                    'microformat' => 'h-geo',
                    'template' => '<div><span>{label}</span><data {options} value="{rawValue}">{value}</data></div>',
                    'formatter' => [ // use the included formatter for latitude and longitude
                        'class' => '\\beastbytes\\microformats\\Formatter',
                        'coordinateFormat' => '%02d %02.6f h'
                    ],
                    'attributes' => [
                        'property' => 'p-latitude:latitude:latitude', // microformat property:model attribte:format
                        'property' => 'p-longitude:longitude:longitude'
                    ]
                ]
            ]            
        ]
    ]
]);

See the source code for more configuration details.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-07-26