From 1e375ebeca0d01870c60a59ace5ed21cf4400cc2 Mon Sep 17 00:00:00 2001 From: dozer111 Date: Wed, 20 Jun 2018 12:22:42 +0300 Subject: [PATCH] тест микродаты организации --- frontend/controllers/ServiceController.php | 1 - frontend/microdata/Microdata.php | 1 + frontend/microdata/MicrodataFabric.php | 12 ++++++++++++ frontend/microdata/OrganizationMicrodata.php | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ frontend/views/layouts/main.php | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 5 files changed, 170 insertions(+), 9 deletions(-) create mode 100644 frontend/microdata/OrganizationMicrodata.php diff --git a/frontend/controllers/ServiceController.php b/frontend/controllers/ServiceController.php index 5d2b93e..9454b74 100644 --- a/frontend/controllers/ServiceController.php +++ b/frontend/controllers/ServiceController.php @@ -61,7 +61,6 @@ '@type'=> 'Offer', 'priceCurrency'=> 'UAH', 'Price'=> "'".max($prices)."'", - ] ]; diff --git a/frontend/microdata/Microdata.php b/frontend/microdata/Microdata.php index ae834f7..ad0a5d3 100644 --- a/frontend/microdata/Microdata.php +++ b/frontend/microdata/Microdata.php @@ -14,5 +14,6 @@ class Microdata extends BaseObject public $type=null; public $image=null; public $offers=null; + public $context=null; } \ No newline at end of file diff --git a/frontend/microdata/MicrodataFabric.php b/frontend/microdata/MicrodataFabric.php index 1fe627b..8555213 100644 --- a/frontend/microdata/MicrodataFabric.php +++ b/frontend/microdata/MicrodataFabric.php @@ -23,6 +23,18 @@ class MicrodataFabric extends Microdata : new ArticleMicrodata(array_merge($article,['url'=>123],self::getDefaultSettings())); } + public static function createJsonFromOrganization($article=null) + { + + return ($article==null)? + new OrganizationMicrodata(array_merge(self::getDefaultSettings())) + : + new OrganizationMicrodata(array_merge($article,self::getDefaultSettings())); + } + + + + protected static function getDefaultSettings(){ diff --git a/frontend/microdata/OrganizationMicrodata.php b/frontend/microdata/OrganizationMicrodata.php new file mode 100644 index 0000000..9981f4b --- /dev/null +++ b/frontend/microdata/OrganizationMicrodata.php @@ -0,0 +1,90 @@ +$value){ + if(!property_exists(self::class,$key)) + { + unset($config[$key]); + } + elseif($value==null || $value===false || $value=='') + { + unset($config[$key]); + } + + + + } + + $this->constructArray=$config; + + parent::__construct($config); + } + + public function toJson(): string + { + $resultJson=" '; + + return $resultJson; + } + + + + function add($key,$value) + { + if ($value!==null) + $this->constructArray[$key]=$value; + + } + + + + + + + + + +} \ No newline at end of file diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php index cd7bd1b..12164b6 100755 --- a/frontend/views/layouts/main.php +++ b/frontend/views/layouts/main.php @@ -29,6 +29,11 @@ use yii\helpers\Html; use yii\web\View; use yii\helpers\Url as DefaultUrl; + use frontend\microdata\MicrodataFabric; + + + + AppAsset::register($this); SliderAsset::register($this); @@ -320,7 +325,7 @@ $this->registerMetaTag(