diff --git a/ADocumentViewer.php b/ADocumentViewer.php index 8f71b67..3d36dae 100644 --- a/ADocumentViewer.php +++ b/ADocumentViewer.php @@ -53,7 +53,7 @@ protected function _checkUrl(){ public function run() { - parent::run(); // TODO: Change the autogenerated stub + parent::run(); return $this->_run(); } diff --git a/README.md b/README.md index beeb1e6..ede5141 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ online document viewer ====================== -виджет для отображения online документов с помощью google viewer и microsoft document viewer +виджет для отображения online документов с помощью google viewer, microsoft document viewer и [viewerJs](http://viewerjs.org/) Installation ------------ @@ -48,10 +48,22 @@ Once the extension is installed, simply use it in your code by : ``` +```php + '/README-viewer.odt', //url на ваш документ или http://example.com/test.odt + 'width'=>'100%', + 'height'=>'100%', +]);?> +``` + Links ----- 1. https://support.office.com/uk-ua/article/%D0%9F%D0%B5%D1%80%D0%B5%D0%B3%D0%BB%D1%8F%D0%B4-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%96%D0%B2-Office-%D0%B2-%D0%86%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D1%96-1cc2ea26-0f7b-41f7-8e0e-6461a104544e?ui=uk-UA&rs=uk-UA&ad=UA&fromAR=1 2. https://products.office.com/en-us/office-online/view-office-documents-online 3. https://support.office.com/uk-ua/article/%D0%9F%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B0-%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D1%96%D0%B2-%D1%83-%D0%B2%D0%B5%D0%B1-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B0%D1%85-Office-Online-ad1303e0-a318-47aa-b409-d3a5eb44e452?ui=uk-UA&rs=uk-UA&ad=UA -4. https://geektimes.ru/post/111647/ \ No newline at end of file +4. https://geektimes.ru/post/111647/ +5. http://viewerjs.org/ +6. http://viewerjs.org/examples/ +7. https://github.com/kogmbh/ViewerJS \ No newline at end of file diff --git a/ViewerJsAssets.php b/ViewerJsAssets.php new file mode 100644 index 0000000..ce47d63 --- /dev/null +++ b/ViewerJsAssets.php @@ -0,0 +1,42 @@ +_urlViewer; + }*/ + + /** + * setter for urlViewer + * @param $value + */ + /*public function setUrlViewer($value){ + $this->_urlViewer = $value; + }*/ + + /** + * Get iframe url for doc + * @return mixed + */ + protected function _getIframeUrl() + { + return $this->_urlViewer.'#'.$this->url; + } + + public function init() + { + ViewerJsAssets::register($this->view); + $this->_urlViewer = \Yii::$app->assetManager->getPublishedUrl('@vendor/bower/viewerjs/ViewerJs'); + parent::init(); + } + + /** + * герерация iframe + * @return string + */ + protected function _run(){ + $options = [ + 'src'=>$this->_getIframeUrl(), + 'width'=>$this->width, + 'height'=>$this->height, + 'allowfullscreen', + 'webkitallowfullscreen' + ]; + + return Html::tag('iframe','',$options); + } +} \ No newline at end of file diff --git a/composer.json b/composer.json index 7071648..93f0910 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "lesha724/yii2-document-viewer", "description": "виджет для отображения online документов с помощью google viewer и microsoft document viewer", "type": "yii2-extension", - "keywords": ["yii2","extension"], + "keywords": ["yii2","extension", "viewer", "viewerjs", "docs", "widget"], "license": "MIT", "authors": [ { @@ -11,7 +11,8 @@ } ], "require": { - "yiisoft/yii2": "*" + "yiisoft/yii2": "*", + "bower-asset/viewerjs": "*" }, "autoload": { "psr-4": {