Я пытаюсь решить проблему с некоторыми страницами администрирования Silverstripe. Каждый раз, когда я нажимаю на страницу «Корзина» или «Пример продукта», появляется сообщение «Произошла ошибка», и страница не отображается. Пожалуйста, смотрите прикрепленное изображение.
Как вы можете видеть, страницы Корзина и значки продуктов-примеров отличаются от остальных. Я не писал код сам и никогда не сталкивался с этим раньше, поэтому буду признателен за любое предложение о том, с чего мне начать решать проблему.
Я могу скопировать код здесь, если вы можете сказать мне, какую часть. Спасибо вам большое за ваше время.
С уважением Сэм
Сообщение консоли Firefox при нажатии на страницу корзины.
Дополнительное сообщение об ошибке на вкладке ответа консоли:
ERROR [User Error]: Bad class to singleton() - ProductImageObject
IN POST /admin/getitem?ID=17&ajax=1
Line 334 in /home/xxx/subdomains/xxx/sapphire/core/Core.php
Source
======
325: *
326: * @param string $className
327: * @return Object
328: */
329: function singleton($className) {
330: global $_SINGLETONS;
331: if(!isset($className)) user_error("singleton() Called without a class", E_USER_ERROR);
332: if(!is_string($className)) user_error("singleton() passed bad class_name: " .
var_export($className,true), E_USER_ERROR);
333: if(!isset($_SINGLETONS[$className])) {
* 334: if(!class_exists($className)) user_error("Bad class to singleton() - $className",
E_USER_ERROR);
335: $_SINGLETONS[$className] = Object::strong_create($className,null, true);
336: if(!$_SINGLETONS[$className]) user_error("singleton() Unknown class '$className'", E_USER_ERROR);
337: }
338: return $_SINGLETONS[$className];
339: }
340:
Trace
=====
<ul>user_error(Bad class to singleton() - ProductImageObject,256)
line 334 of Core.php
singleton(ProductImageObject)
line 96 of DataObjectManager.php
DataObjectManager->__construct(Product,ProductImages,ProductImageObject,Array,getCMSFields_forPopup,,Created DESC,)
line 48 of FileDataObjectManager.php
FileDataObjectManager->__construct(Product,ProductImages,ProductImageObject,ProductImage,Array,getCMSFields_forPopup)
line 125 of Product.php
Product->getCMSFields(CMSMain)
line 444 of CMSMain.php
CMSMain->getEditForm(17)
line 1021 of LeftAndMain.php
LeftAndMain->EditForm()
line 382 of LeftAndMain.php
LeftAndMain->getitem(SS_HTTPRequest)
line 193 of Controller.php
Controller->handleAction(SS_HTTPRequest)
line 137 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
line 147 of Controller.php
Controller->handleRequest(SS_HTTPRequest)
line 281 of Director.php
Director::handleRequest(SS_HTTPRequest,Session)
line 124 of Director.php
Director::direct(/admin/getitem)
line 127 of main.php
</ul>