^ EventSauce\ObjectHydrator\UnableToHydrateObject {#4152
#message: "Unable to hydrate object: Local\ComponentSystem\Components\Support\DataDisplay\Gallery\Data\GalleryArgs, missing fields: srcset"
#code: 0
#file: "/var/www/html/vendor/eventsauce/object-hydrator/src/UnableToHydrateObject.php"
#line: 49
-missingFields: array:1 [
0 => "srcset"
]
-stack: []
trace: {
/var/www/html/vendor/eventsauce/object-hydrator/src/UnableToHydrateObject.php:49 {
EventSauce\ObjectHydrator\UnableToHydrateObject::dueToMissingFields(string $className, array $missingFields, array $stack = []): static …
› {
› return new static("Unable to hydrate object: $className, missing fields: " . implode(', ', $missingFields), null, $missingFields, $stack);
› }
}
/var/www/html/vendor/eventsauce/object-hydrator/src/ObjectMapperUsingReflection.php:175 {
EventSauce\ObjectHydrator\ObjectMapperUsingReflection->hydrateObject(string $className, array $payload): object …
› if (count($missingFields) > 0) {
› throw UnableToHydrateObject::dueToMissingFields($className, $missingFields, $this->hydrationStack);
› }
arguments: {
$className: "Local\ComponentSystem\Components\Support\DataDisplay\Gallery\Data\GalleryArgs"
$missingFields: array:1 [ …1]
$stack: []
}
}
/var/www/html/lib/Local/ComponentSystem/Core/DataFactory.php:40 {
Local\ComponentSystem\Core\DataFactory->make(string $class, array $source) …
› {
› return $this->mapper->hydrateObject($class, $source);
› }
arguments: {
$className: "Local\ComponentSystem\Components\Support\DataDisplay\Gallery\Data\GalleryArgs"
$payload: array:1 [ …1]
}
}
/var/www/html/lib/Local/ComponentSystem/Core/Data.php:11 {
Local\ComponentSystem\Core\Data::make($arguments) …
› {
› return DataFactory::getInstance()->make(static::class, $arguments);
› }
arguments: {
$class: "Local\ComponentSystem\Components\Support\DataDisplay\Gallery\Data\GalleryArgs"
$source: array:1 [ …1]
}
}
/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Default/Partials/Gallery/template.php:14 {
include …
› <a href="<?= $data->href(); ?>" class="product-card__gallery" data-id="<?= $data->productId(); ?>">
› <?= Gallery::render(GalleryArgs::make([
› 'srcset' => $data->gallery(),
arguments: {
$arguments: array:1 [ …1]
}
}
/var/www/html/lib/Local/ComponentSystem/Core/BaseComponent.php:90 {
Local\ComponentSystem\Core\BaseComponent::{closure:Local\ComponentSystem\Core\BaseComponent::renderTemplate():86} …
›
› include $__file;
›
arguments: {
"/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/Partials/Recommendations/template.php"
}
}
/var/www/html/lib/Local/ComponentSystem/Core/BaseComponent.php:93 {
Local\ComponentSystem\Core\BaseComponent->renderTemplate(string $componentName, string $templateName, array $vars): string …
› return ob_get_clean();
› })($templateFile, $vars);
› }
arguments: {
"/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/Partials/Recommendations/template.php"
array:2 [ …2]
}
}
/var/www/html/lib/Local/ComponentSystem/Core/BaseComponent.php:37 {
Local\ComponentSystem\Core\BaseComponent->partial(string $name, $vars = []): string …
›
› return $this->renderTemplate(
› Strings::normalizeComponentPath($this::class),
arguments: {
$componentName: "Local/ComponentSystem/Components/Atomic/Card/Product"
$templateName: "Detail/Partials/Recommendations"
$vars: array:2 [ …2]
}
}
/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Default/template.php:22 {
include …
› <div class="gallery_wrap">
› <?= $component->partial('Gallery'); ?>
› <div class="actions">
arguments: {
$name: "Gallery"
}
}
/var/www/html/lib/Local/ComponentSystem/Core/ComponentRenderer.php:119 {
Local\ComponentSystem\Core\ComponentRenderer::{closure:Local\ComponentSystem\Core\ComponentRenderer::renderTemplate():115} …
›
› include $__file;
›
arguments: {
"/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/template.php"
}
}
/var/www/html/lib/Local/ComponentSystem/Core/ComponentRenderer.php:122 {
Local\ComponentSystem\Core\ComponentRenderer->renderTemplate(string $componentName, string $templateName, array $vars): string …
› return ob_get_clean();
› })($templateFile, $vars);
› }
arguments: {
"/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/template.php"
array:3 [ …3]
}
}
/var/www/html/lib/Local/ComponentSystem/Core/ComponentRenderer.php:67 {
Local\ComponentSystem\Core\ComponentRenderer->renderInstance(BaseComponent $component, ?string $template = null): string …
› // --- Рендерим шаблон ---
› $html = $this->renderTemplate(
› componentName: Strings::normalizeComponentPath($component::class),
arguments: {
$componentName: "Local/ComponentSystem/Components/Atomic/Card/Product"
$templateName: "Detail"
$vars: array:3 [ …3]
}
}
/var/www/html/lib/Local/ComponentSystem/Core/ComponentRenderer.php:38 {
Local\ComponentSystem\Core\ComponentRenderer->render(string $componentClass, ?DataInterface $args = null, ?string $template = null): string …
›
› return $this->renderInstance($component, $template);
› }
arguments: {
$component: Local\ComponentSystem\Components\Atomic\Card\Product\ProductCard {#3644 …}
$template: "Detail"
}
}
/var/www/html/lib/Local/ComponentSystem/Core/BaseComponent.php:57 {
Local\ComponentSystem\Core\BaseComponent::render(?DataInterface $args = null, $template = null): string …
› {
› return ComponentRenderer::getInstance()->render(static::class, $args, $template);
› }
arguments: {
$componentClass: "Local\ComponentSystem\Components\Atomic\Card\Product\ProductCard"
$args: Local\ComponentSystem\Components\Atomic\Card\Product\Data\ProductCardRaw {#3645 …}
$template: "Detail"
}
}
/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/Partials/Recommendations/template.php:34 {
include …
› <?php foreach ($rand_keys as $key => $rand_key) { ?>
› <?= ProductCard::render(ProductCardRaw::make($other_products[$rand_key])); ?>
› <?php } ?>
arguments: {
$args: Local\ComponentSystem\Components\Atomic\Card\Product\Data\ProductCardRaw {#3640 …}
}
}
/var/www/html/lib/Local/ComponentSystem/Core/BaseComponent.php:90 {
Local\ComponentSystem\Core\BaseComponent::{closure:Local\ComponentSystem\Core\BaseComponent::renderTemplate():86} …
›
› include $__file;
›
arguments: {
"/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/Partials/Recommendations/template.php"
}
}
/var/www/html/lib/Local/ComponentSystem/Core/BaseComponent.php:93 {
Local\ComponentSystem\Core\BaseComponent->renderTemplate(string $componentName, string $templateName, array $vars): string …
› return ob_get_clean();
› })($templateFile, $vars);
› }
arguments: {
"/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/Partials/Recommendations/template.php"
array:2 [ …2]
}
}
/var/www/html/lib/Local/ComponentSystem/Core/BaseComponent.php:37 {
Local\ComponentSystem\Core\BaseComponent->partial(string $name, $vars = []): string …
›
› return $this->renderTemplate(
› Strings::normalizeComponentPath($this::class),
arguments: {
$componentName: "Local/ComponentSystem/Components/Atomic/Card/Product"
$templateName: "Detail/Partials/Recommendations"
$vars: array:2 [ …2]
}
}
/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/template.php:82 {
include …
› <div class="main gap">
› <?= $component->partial('Recommendations') ?>
› <?= $component->partial('Properties'); ?>
arguments: {
$name: "Recommendations"
}
}
/var/www/html/lib/Local/ComponentSystem/Core/ComponentRenderer.php:119 {
Local\ComponentSystem\Core\ComponentRenderer::{closure:Local\ComponentSystem\Core\ComponentRenderer::renderTemplate():115} …
›
› include $__file;
›
arguments: {
"/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/template.php"
}
}
/var/www/html/lib/Local/ComponentSystem/Core/ComponentRenderer.php:122 {
Local\ComponentSystem\Core\ComponentRenderer->renderTemplate(string $componentName, string $templateName, array $vars): string …
› return ob_get_clean();
› })($templateFile, $vars);
› }
arguments: {
"/var/www/html/lib/Local/ComponentSystem/Components/Atomic/Card/Product/Templates/Detail/template.php"
array:3 [ …3]
}
}
/var/www/html/lib/Local/ComponentSystem/Core/ComponentRenderer.php:67 {
Local\ComponentSystem\Core\ComponentRenderer->renderInstance(BaseComponent $component, ?string $template = null): string …
› // --- Рендерим шаблон ---
› $html = $this->renderTemplate(
› componentName: Strings::normalizeComponentPath($component::class),
arguments: {
$componentName: "Local/ComponentSystem/Components/Atomic/Card/Product"
$templateName: "Detail"
$vars: array:3 [ …3]
}
}
/var/www/html/lib/Local/ComponentSystem/Core/ComponentRenderer.php:38 {
Local\ComponentSystem\Core\ComponentRenderer->render(string $componentClass, ?DataInterface $args = null, ?string $template = null): string …
›
› return $this->renderInstance($component, $template);
› }
arguments: {
$component: Local\ComponentSystem\Components\Atomic\Card\Product\ProductCard {#3644 …}
$template: "Detail"
}
}
/var/www/html/lib/Local/ComponentSystem/Core/BaseComponent.php:57 {
Local\ComponentSystem\Core\BaseComponent::render(?DataInterface $args = null, $template = null): string …
› {
› return ComponentRenderer::getInstance()->render(static::class, $args, $template);
› }
arguments: {
$componentClass: "Local\ComponentSystem\Components\Atomic\Card\Product\ProductCard"
$args: Local\ComponentSystem\Components\Atomic\Card\Product\Data\ProductCardRaw {#3645 …}
$template: "Detail"
}
}
/var/www/html/templates/default/controllers/shop/item_view.tpl.php:137 {
include …
› <div class="product-white mt-3">
› <?= ProductCard::render(ProductCardRaw::make($item), 'Detail') ?>
› </div>
arguments: {
$args: Local\ComponentSystem\Components\Atomic\Card\Product\Data\ProductCardRaw {#3645 …}
$template: "Detail"
}
}
/var/www/html/system/core/template.php:1498 {
cmsTemplate->processRender($tpl_file, $data = [], $request = false) …
›
› extract($data); include($tpl_file);
›
arguments: {
"/var/www/html/templates/default/controllers/shop/item_view.tpl.php"
}
}
/var/www/html/system/core/template.php:1466 {
cmsTemplate->render($tpl_file, $data = [], $request = false) …
› // dump($data);
› return $this->processRender($tpl_file, $data, $request);
›
arguments: {
$tpl_file: "/var/www/html/templates/default/controllers/shop/item_view.tpl.php"
$data: array:7 [ …7]
$request: cmsRequest {#254 …}
}
}
/var/www/html/system/controllers/shop/actions/item_view.php:344 {
actionShopItemView->run() …
›
› return $this->cms_template->render('item_view', $return);
› }
arguments: {
$tpl_file: "/var/www/html/templates/default/controllers/shop/item_view.tpl.php"
$data: array:7 [ …7]
}
}
/var/www/html/system/core/controller.php:549 {
cmsController->runExternalAction($action_name, $params = []) …
› Tracing::startSpan("running {$class_name_ex} action", ['params'=>$params]);
› $r = call_user_func_array(array($action_object, 'run'), $params);
› Tracing::endSpan();
arguments: {
"catalog"
"krovat-dvuhjarusnaja-dlja-stroitelei-ekonom-lozhe-1900h700-rombicheskaja-setka"
}
}
/var/www/html/system/core/controller.php:435 {
cmsController->runAction($action_name, $params = []) …
› Tracing::startSpan("runExternalAction", ['action_name'=>$action_name, 'action_params'=>$this->current_params] );
› $result = $this->runExternalAction($action_name, $this->current_params);
› Tracing::endSpan();
arguments: {
$action_name: "index"
$params: []
}
}
/var/www/html/system/core/action.php:29 {
cmsAction->__call($name, $arguments) …
› public function __call($name, $arguments) {
› return call_user_func_array(array($this->controller, $name), $arguments);
› }
arguments: {
$action_name: "item_view"
$params: array:2 [ …2]
}
}
/var/www/html/system/controllers/shop/actions/index.php:62 {
actionShopIndex->run() …
›
› return $this->runAction('item_view', array(
› 'catalog',
arguments: {
$name: "runAction"
$arguments: array:2 [ …2]
}
}
/var/www/html/system/core/controller.php:549 {
cmsController->runExternalAction($action_name, $params = []) …
› Tracing::startSpan("running {$class_name_ex} action", ['params'=>$params]);
› $r = call_user_func_array(array($action_object, 'run'), $params);
› Tracing::endSpan();
arguments: {
"catalog"
"krovat-dvuhjarusnaja-dlja-stroitelei-ekonom-lozhe-1900h700-rombicheskaja-setka"
}
}
/var/www/html/system/core/controller.php:435 {
cmsController->runAction($action_name, $params = []) …
› Tracing::startSpan("runExternalAction", ['action_name'=>$action_name, 'action_params'=>$this->current_params] );
› $result = $this->runExternalAction($action_name, $this->current_params);
› Tracing::endSpan();
arguments: {
$action_name: "index"
$params: []
}
}
/var/www/html/system/controllers/shop/frontend.php:135 {
shop->route($uri) …
› if (!$action_name) { cmsCore::error404(); }
› $this->runAction($action_name);
› }
arguments: {
$action_name: "index"
}
}
/var/www/html/system/core/controller.php:465 {
cmsController->runAction($action_name, $params = []) …
› if ($this->current_params) { $route_uri .= '/' . implode('/', $this->current_params); }
› $result = call_user_func(array($this, 'route'), $route_uri);
› Tracing::endSpan();
arguments: {
$uri: "products/zheleznaya-mebel/krovat-dvuhjarusnaja-dlja-stroitelei-ekonom-lozhe-1900h700-rombicheskaja-setka"
}
}
/var/www/html/system/core/core.php:815 {
cmsCore->runController() …
› // запускаем действие
› $controller->runAction($this->uri_action, $this->uri_params);
› return true;
arguments: {
$action_name: "products"
$params: array:2 [ …2]
}
}
/var/www/html/index.php:136 {
› Tracing::startSpan('run controller');\r
› $core->runController();\r
› Tracing::endSpan();\r
}
}
}