Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skeeks-cms/cms-dadata-suggest
Dadata service for SkeekS CMS
https://github.com/skeeks-cms/cms-dadata-suggest
Last synced: 22 days ago
JSON representation
Dadata service for SkeekS CMS
- Host: GitHub
- URL: https://github.com/skeeks-cms/cms-dadata-suggest
- Owner: skeeks-cms
- License: bsd-3-clause
- Created: 2016-09-22T09:59:26.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-06-05T10:30:01.000Z (over 1 year ago)
- Last Synced: 2024-11-13T14:17:29.515Z (about 2 months ago)
- Language: PHP
- Homepage: https://cms.skeeks.com
- Size: 56.6 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Dadata suggest for SkeekS CMS
===================================Info
------------
* https://github.com/skeeks-semenov/yii2-dadata-suggest-api
* https://dadata.ru/api/suggest/Installation
------------The preferred way to install this extension is through [composer](http://getcomposer.org/download/).
Either run
```
php composer.phar require --prefer-dist skeeks/cms-dadata-suggest "*"
```or add
```
"skeeks/cms-dadata-suggest": "*"
```Configuration app
----------```php
'components' =>
[
'dadataSuggest' => [
'class' => 'skeeks\cms\dadataSuggest\CmsDadataSuggestComponent',
],
'dadataSuggestApi' => [
'class' => 'skeeks\cms\dadataSuggest\CmsDadataSuggestApi',
],
'i18n' => [
'translations' =>
[
'skeeks/dadata-suggest' => [
'class' => 'yii\i18n\PhpMessageSource',
'basePath' => '@skeeks/cms/dadataSuggest/messages',
'fileMap' => [
'skeeks/dadata-suggest' => 'main.php',
],
]
]
]
],
'modules' =>
[
'dadataSuggest' => [
'class' => 'skeeks\cms\dadataSuggest\CmsDadataSuggestModule',
]
]```
Examples
----------### First detect address from api and save to session
```php
\Yii::$app->dadataSuggest->address
```### First detect address from api and save to session
```php
if (\Yii::$app->dadataSuggest->isSavedAddress)
{
echo \Yii::$app->dadataSuggest->address->unrestrictedValue;
} else
{
echo "Not saved address to session";
}
```### Address widget
```php
= \skeeks\cms\dadataSuggest\widgets\address\DadataGetAddressWidget::widget([
'options' =>
[
'href' => '#',
'onclick' => 'new sx.classes.ModalRegionPageReload(); return false;',
'class' => 'sx-dadata-suggestion-city',
]
]); ?>
```### Suggest widget
```php
= \skeeks\cms\dadataSuggest\widgets\suggest\DadataSuggestInputWidget::widget([
'name' => 'address',
'id' => 'sx-global-region-input',
'addon' => 'clear',
'value' => \Yii::$app->dadataSuggest->isSavedAddress ? \Yii::$app->dadataSuggest->address->unrestrictedValue : "",
'clientOptions' => [
'onInit' => new \yii\web\JsExpression(<<
[
'class' => 'form-control',
'placeholder' => 'Найти город',
]
]); ?>
```### Suggest widgets in forms
```php
= $form->field($model, 'post_recipient')->widget(
\skeeks\cms\dadataSuggest\widgets\suggest\DadataSuggestInputWidget::className(),
[
'options' =>
[
'placeholder' => $model->getAttributeLabel('post_recipient'),
],'type' => 'NAME'
]
);
?>### Suggest widgets with additional settings
```php$form->field($model, 'post_address')->widget(
\skeeks\cms\dadataSuggest\widgets\suggest\DadataSuggestInputWidget::className(),
[
'options' =>
[
'placeholder' => "Адрес (улица, дом, кв)",
],'clientOptions' =>
[
'suggestOptions' =>
[
'triggerSelectOnSpace' => true,
'triggerSelectOnBlur' => true,'constraints' => [
[
'locations' => \Yii::$app->dadataSuggest->address->getRegionArray(),'deletable' => false,
'label' => ''
]
],
'restrict_value' => true,
],
'onInit' => new \yii\web\JsExpression(<<
```##Links
* [Web site](http://en.cms.skeeks.com)
* [Web site (rus)](http://cms.skeeks.com)
* [Author](http://skeeks.com)
* [ChangeLog](https://github.com/skeeks-cms/cms-dadata-suggest/blob/master/CHANGELOG.md)___
> [![skeeks!](https://skeeks.com/img/logo/logo-no-title-80px.png)](https://skeeks.com)
SkeekS CMS (Yii2) — fast, simple, effective!
[skeeks.com](https://skeeks.com) | [cms.skeeks.com](https://cms.skeeks.com)