LinkPreview widget render page preview
MIT License
LinkPreview widget automatically retrieves some information from the content of the link.
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist yii2mod/yii2-link-preview "*"
or add
"yii2mod/yii2-link-preview": "*"
to the require section of your composer.json
file.
php yii migrate/up --migrationPath=@vendor/yii2mod/yii2-link-preview/migrations
public function actions()
{
return [
'link-preview' => LinkPreviewAction::className()
];
}
echo LinkPreview::widget([
'selector' => '#your-input-id or .someclass',
'clientOptions' => [
'previewActionUrl' => \yii\helpers\Url::to(['link-preview'])
],
])
Example of usage with the ActiveForm and saving the page info
<?php $form = \yii\widgets\ActiveForm::begin() ?>
<div class="form-group">
<label for="preview">Preview</label>
<input name="preview" class="form-control" id="preview" placeholder="Preview">
</div>
<?php echo \yii2mod\linkpreview\LinkPreview::widget([
'selector' => '#preview',
'clientOptions' => [
'previewActionUrl' => \yii\helpers\Url::to(['link-preview'])
],
]) ?>
<div class="form-group">
<?= \yii\helpers\Html::submitButton('Save', ['class' => 'btn btn-primary']) ?>
</div>
<?php \yii\widgets\ActiveForm::end() ?>
$model = new LinkPreviewModel();
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->save();
}
// or the short version
$linkPreviewId = LinkPreviewModel::saveAndGetId(Yii::$app->request->post());