dev-master
9999999-devThis extension provides a Yii2 widget to display an image picker powered by Unsplash images API.
MIT
The Requires
by Carl Burnstein
extension yii2 widget unsplash unsplash api
This extension provides a Yii2 widget to display an image picker powered by Unsplash images API.
This extension provides a Yii2 widget to display an image picker powered by Unsplash images API., (*1)
The preferred way to install this extension is through composer., (*2)
Either run, (*3)
php composer.phar require --prefer-dist cb-techservices/yii2-unsplash "*"
or add, (*4)
"cb-techservices/yii2-unsplash": "*"
to the require section of your composer.json
file., (*5)
Add the following to your main.php config file in your Yii project., (*6)
REQUIREMENT: You must have a valid developer account and "App" set up with Unsplash API. Once created, use the app's Access Key and the UTM Source (aka Application Name) for your Yii configuration., (*7)
'modules' => [ 'unsplash' => [ 'class' => 'cbtech\unsplash\UnsplashImagePickerModule', // ... other configurations for the module ... 'params'=>[ 'applicationId' => '{ACCESS_KEY}', 'utmSource' => '{UTM_SOURCE}', ] ], ],
Once the extension AND module are installed, simply use it in your code by :, (*8)
<?= \cbtech\unsplash\UnsplashImagePicker::widget([ "search"=>"colors", "page"=>1, "per_page"=>16, "orientation"=>"landscape", "button_text"=>"Choose photo from Unsplash", "button_class"=>"btn btn-success", "button_style"=>"margin-right:10px;", ]); ?>
Use Javascript and jQuery to listen for the 'unsplashDownload' event., (*9)
$(document).bind('unsplashDownload',"#unsplash-results",function(event, data){ console.log("Download Url = = " + data.downloadUrl); console.log("All photo view urls = = " + data.urls); $.ajax({ "method":"POST", "url":"/project/save-user-project-media-url-ajax", //This is a custom PHP script that recieves the download URL of the photo and downloads it to the server. "data":{downloadUrl: data.downloadUrl} }).done(function(response){ $(".file-default-preview").empty().html("<img src='" + response.data.media.url + "' style='width:200px;height:200px;object-fit:cover;'/>"); }); });
Example PHP action that receives the downloadUrl:, (*10)
public function actionSaveUserProjectMediaUrlAjax(){ $downloadUrl = \Yii::$app->request->post("downloadUrl"); //Download URL sent via $_POST //Do something with the downloadUrl, like use it to download a copy of the photo to your server. }
, (*11)
Yii2 Unsplash Extension is available under the MIT license. See the LICENSE file for more info., (*12)
This extension provides a Yii2 widget to display an image picker powered by Unsplash images API.
MIT
extension yii2 widget unsplash unsplash api