From 4089ba01e0881c89a72332e13bc3a80b6bddec2a Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 29 Jun 2026 22:15:55 +0000
Subject: [PATCH] =DashboardManager overhaul. A bit easier to modify the output of pages. Still have to get the account pages to work as expected, as well as verify the integrations and others are working - but registrar/content pages work as expected. Also fixed up the table generation in CRUD.js and CRUDSkeleton.php

---
 inc/registrar/config/seo/Schema.php |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/inc/registrar/config/seo/Schema.php b/inc/registrar/config/seo/Schema.php
index 86401cc..6692c5e 100644
--- a/inc/registrar/config/seo/Schema.php
+++ b/inc/registrar/config/seo/Schema.php
@@ -143,7 +143,10 @@
 					$config = $this->getConfig();
 
 					$class = JVB()->schemaHelper()::classFromConfig($config, $meta);
-					$class->setAuthor(JVB()->seo()->getCreator(true));
+					if (property_exists($class, 'author')) {
+						$class->setAuthor(JVB()->seo()->getCreator(true));
+					}
+
 
 					$class = apply_filters('jvb_single_'.$this->slug.'_schema_output', $class, $ID);
 					return $class->outputSchema();
@@ -205,11 +208,16 @@
 			if (JVB_TESTING){
 				$this->archiveCache->flush();
 			}
-
+			$this->archiveCache->flush();
 			return $this->archiveCache->remember(
 				$this->slug,
 				function() {
+
 					$action = BASE.ucfirst($this->slug).'Archive';
+					$override = apply_filters($action.'Override', []);
+					if (!empty($override)) {
+						return $override;
+					}
 					$config = JVB()->schemaHelper()->archive($this->slug);
 					if (!array_key_exists('type', $config)) {
 						$config['type'] = 'JVBase\inc\managers\SEO\render\Thing\CreativeWork\WebPage\CollectionPage\CollectionPage';
@@ -450,6 +458,7 @@
 		];
 		$question = SchemaHelper::classFromConfig($question);
 		$page->setMainEntity($question);
+
 		$page->setAuthor(JVB()->seo()->getCreator(true));
 		return $page->outputSchema();
 

--
Gitblit v1.10.0