concretecms-community-store / community_store

An open, free and community developed eCommerce system for Concrete CMS
https://concretecms-community-store.github.io/community_store/
MIT License
106 stars 66 forks source link

Product Variants Not Working - Page Broken #523

Closed onestone2023 closed 4 years ago

onestone2023 commented 4 years ago

Getting the following error:

Whoops\Exception\ErrorException thrown with message "Doctrine\Common\Proxy\AbstractProxyFactory::getProxyDefinition(): Failed opening required '/home/wwwfridgepu/public_html/CarteDev/application/config/doctrine/proxies/CGConcretePackageCommunityStoreSrcCommunityStoreProductProductOptionProductOptionItem.php' (include_path='/home/wwwfridgepu/public_html/CarteDev/concrete/vendor:.:/opt/alt/php72/usr/share/pear')"

Stacktrace:

0 Whoops\Exception\ErrorException in /home/wwwfridgepu/public_html/CarteDev/concrete/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php:209

onestone2023 commented 4 years ago

By the way, that code is appearing on the page I'm attempting to add a product list block displaying a category. If I edit the product and deactivate Variants in the options section, then the product list loads successfully.

It sounds very similar to this issue, and I checked the permissions as you suggested.

https://github.com/concrete5-community-store/community_store/issues/284

onestone2023 commented 4 years ago

More reporting:

/home /wwwfridgepu /public_html /CarteDev /concrete /vendor /doctrine /common /lib /Doctrine /Common /Proxy /AbstractProxyFactory.php

     * Get a proxy definition for the given class name.
     *
     * @param string $className
     *
     * @return ProxyDefinition
     */
    private function getProxyDefinition($className)
    {
        $classMetadata = $this->metadataFactory->getMetadataFor($className);
        $className     = $classMetadata->getName(); // aliases and case sensitivity

        $this->definitions[$className] = $this->createProxyDefinition($className);
        $proxyClassName                = $this->definitions[$className]->proxyClassName;

        if ( ! class_exists($proxyClassName, false)) {
            $fileName  = $this->proxyGenerator->getProxyFileName($className);

            switch ($this->autoGenerate) {
                case self::AUTOGENERATE_NEVER:
                    require $fileName;
                    break;

                case self::AUTOGENERATE_FILE_NOT_EXISTS:
                    if ( ! file_exists($fileName)) {
                        $this->proxyGenerator->generateProxyClass($classMetadata, $fileName);
                    }
                    require $fileName;
                    break;

                case self::AUTOGENERATE_ALWAYS:
                    $this->proxyGenerator->generateProxyClass($classMetadata, $fileName);
                    require $fileName;
                    break;

                case self::AUTOGENERATE_EVAL:
Mesuva commented 4 years ago

Try going to /index.php/dashboard/system/environment/entities and hitting the red 'Refresh Entities' button

onestone2023 commented 4 years ago

That did the trick. Thank you...thank you.

Stay strong and healthy.