From c4aa5cdb5e90ad4b420e22772797d16980232a2b Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 15 Apr 2026 18:38:55 +0000
Subject: [PATCH] =Updating custom tables to utilize CustomTable.php
---
inc/managers/SEO/render/Traits/_Properties/hasOfferCatalogTrait.php | 30 +++++++++++++++++++++++++++---
1 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/inc/managers/SEO/render/Traits/_Properties/hasOfferCatalogTrait.php b/inc/managers/SEO/render/Traits/_Properties/hasOfferCatalogTrait.php
index 90f336a..0230b99 100644
--- a/inc/managers/SEO/render/Traits/_Properties/hasOfferCatalogTrait.php
+++ b/inc/managers/SEO/render/Traits/_Properties/hasOfferCatalogTrait.php
@@ -1,7 +1,8 @@
<?php
namespace JVBase\managers\SEO\render\Traits\_Properties;
-use JVBase\managers\SEO\render\Thing\Intangible\OfferCatalog;
+use JVBase\base\SchemaHelper;
+use JVBase\inc\managers\SEO\render\Thing\Intangible\ItemList\OfferCatalog;
use JVBase\registrar\Registrar;
if (!defined('ABSPATH')) {
@@ -17,8 +18,26 @@
{
return $this->hasOfferCatalog??null;
}
- public function setHasOfferCatalog(OfferCatalog $hasOfferCatalog):void
+ public function setHasOfferCatalog(OfferCatalog|array $hasOfferCatalog):void
{
+ if (is_array($hasOfferCatalog)){
+ if (array_key_exists('generate', $hasOfferCatalog) && $hasOfferCatalog['generate']) {
+ $this->generateOfferCatalog($hasOfferCatalog);
+ } else {
+ if (!array_key_exists('type', $hasOfferCatalog)) {
+ $hasOfferCatalog['type'] = 'JVBase\inc\managers\SEO\render\Thing\Intangible\ItemList\OfferCatalog';
+ }
+ $items = [];
+ if (array_key_exists('items', $hasOfferCatalog)) {
+ $items = $hasOfferCatalog['items'];
+ unset($hasOfferCatalog['items']);
+ }
+ $hasOfferCatalog = SchemaHelper::classFromConfig($hasOfferCatalog);
+ if (!empty($items)) {
+ $hasOfferCatalog->setItemListElement($items);
+ }
+ }
+ }
$this->hasOfferCatalog = $hasOfferCatalog;
}
@@ -31,7 +50,8 @@
'fields' => [
'generate' => [
'type' => 'true_false',
- 'label' => 'Generate from Content type?'
+ 'label' => 'Generate from Content type?',
+ 'default' => false,
],
'content_type' => [
'type' => 'checkbox',
@@ -67,6 +87,10 @@
'description' => [
'type' => 'textarea',
'label' => 'Description'
+ ],
+ 'price' => [
+ 'type' => 'number',
+ 'label' => 'Price'
]
]
]
--
Gitblit v1.10.0