umanskyi31 / opengraph
为Yii2创建了一个新组件。您的网站Open Graph组件
3.0.0
2022-12-27 15:17 UTC
Requires
- php: >=8.0 || 7.4
- yiisoft/yii2: ~2.0.14
Requires (Dev)
- friendsofphp/php-cs-fixer: ^v3.13.1
- phpunit/phpunit: ~9.5
README
Yii2.x Open Graph
为Yii2创建了一个新组件。您的网站Open Graph组件
安装
composer require umanskyi31/opengraph
或添加
"umanskyi31/opengraph": "^3.0.0"
到您的composer.json文件中的require部分。
配置
'components' => [ 'opengraph' => [ 'class' => 'umanskyi31\opengraph\OpenGraph', ], // ... ]
用法
您应该在渲染视图之前将组件添加到控制器中。
示例
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph;
如何使用
添加基本属性
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getBasic() ->setUrl('https://umanskyi.com') ->setTitle('My_Article_Title') ->setDescription('My_Article_Description') ->setSiteName('My_Site_Name') ->setLocale('pl_PL') ->setLocalAlternate(['fr_FR', 'en_US']) ->render();
添加图片属性
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getImage() ->setUrl('https://umanskyi.com/logo.png') ->setAttributes([ 'secure_url' => 'https://umanskyi.com/logo.png', 'width' => 100, 'height' => 100, 'alt' => "Logo", ]) ->render();
如果需要,也可以添加图片数组,以下代码示例:
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getImage() ->setUrl('https://umanskyi.com/logo.png') ->setAttributes([ 'secure_url' => 'https://umanskyi.com/logo.png', 'width' => 100, 'height' => 100, 'alt' => "Logo", ]) ->render(); $openGraph->getImage() ->setUrl('https://umanskyi.com/small_logo.png') ->setAttributes([ 'secure_url' => 'https://umanskyi.com/small_logo.png', 'width' => 50, 'height' => 50, 'alt' => "small logo", ]) ->render();
添加文章属性
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getArticle() ->setAuthor(['http://examples.opengraphprotocol.us/profile.html']) ->setTag(['Test_TAG']) ->setSection('Front page') ->setPublishTime(new \DateTime('2010-10-11')) ->render();
添加音频属性
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getAudio() ->setAttributes([ 'secure_url' => 'https://umanskyi.com/media/audio/250hz.mp3', 'type' => 'audio/mpeg' ]) ->setUrl('https://d72cgtgi6hvvl.cloudfront.net/media/audio/250hz.mp3') ->render();
添加书籍属性
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getBook() ->setReleaseDate(new \DateTime('2011-10-10')) ->setTag(['Apple', 'New']) ->setAuthor(['http://umanskyi.com/profile.html']) ->setIsbn(1451648537) ->render();
添加音乐属性
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getMusic() ->setReleaseDate(new \DateTime('2016-01-16')) ->setDuration(236) ->setAttrAlbum([ 'album:track' => 2 ]) ->setMusician([ 'http://open.spotify.com/artist/1dfeR4HaWDbWqFHLkxsg1d', 'http://open.spotify.com/artist/1dfeR4HaWDbWqFirlsag1d' ]) ->render();
添加个人资料属性
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getProfile() ->setGender('Male') ->setFirstName('Vlad') ->setLastName('Umanskyi') ->setUsername('vlad.umanskyi') ->render();
添加视频属性
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->getVideo() ->setUrl('https://umanskyi.com/strobe/FlashMediaPlayback.swf') ->setAttributes([ 'width' => 450, 'height' => 350, 'secure_url' => 'https://umanskyi.com/strobe/FlashMediaPlayback.swf', 'type' => 'application/x-shockwave-flash' ]) ->setAdditionalAttributes([ 'tag' => 'train', 'release_date' => '1980-10-02' ]) ->render();
当前版本还支持配置 Twitter Card
/** * @var OpenGraph $openGraph */ $openGraph = Yii::$app->opengraph; $openGraph->useTwitterCard() ->setCard('summary') ->setSite('https://umanskyi.com') ->setCreator('Vlad Umanskyi') ->render();
如果您想添加自己的配置或覆盖某些标签,您必须实现 umanskyi31\opengraph\Configuration 并将其添加到Yii容器中。一些示例可以在 umanskyi31\opengraph\OpenGraphConfiguration 中找到。
如果您有任何 问题 请告诉我。