Jump to content

Error 500 al acceder a Preferencias en Transporte


Recommended Posts

Es nueva,

esto es lo que sale en depuracion

Symfony\Component\ErrorHandler\Error\ ClassNotFoundError
in override/classes/Carrier.php (line 51)

        * version: 2.0.5
        */
        public static function getCarriers($id_lang, $active = false, $delete = false, $id_zone = false, $ids_group = null,
                                           $modules_filters = self::PS_CARRIERS_ONLY, $cart_par = null)
        {
            $ratesHelper = new RatesHelper();
            $dataHelper = new DataHelper();
            if ($ids_group && (!is_array($ids_group) || !count($ids_group))) {
                return array();
            }
            $sql = '

Carrier::getCarriers() in src/Adapter/Carrier/CarrierDataProvider.php (line 66)

         *
         * @return array Carriers
         */
        public function getCarriers($id_lang, $active = false, $delete = false, $id_zone = false, $ids_group = null, $modules_filters = Carrier::PS_CARRIERS_ONLY)
        {
            return Carrier::getCarriers($id_lang, $active, $delete, $id_zone, $ids_group, $modules_filters);
        }
        /**
         * Get all active carriers in given language, usable for choice form type.
         *

CarrierDataProvider->getCarriers() in src/Core/Form/ChoiceProvider/CarrierByReferenceChoiceProvider.php (line 65)

         */
        public function getChoices()
        {
            $choices = [];
            $carriers = $this->carrierDataProvider->getCarriers(
                $this->langId,
                false,
                false,
                false,
                null,

in var/cache/dev/ContainerW7idPyE/getForm_Type_Payment_ModuleCurrencyRestrictionService.php -> getChoices (line 9)

    use Symfony\Component\DependencyInjection\Exception\RuntimeException;
    // This file has been auto-generated by the Symfony Dependency Injection Component for internal use.
    // Returns the public 'form.type.payment.module_currency_restriction' shared service.
    return $this->services['form.type.payment.module_currency_restriction'] = new \PrestaShopBundle\Form\Admin\Improve\Payment\Preferences\PaymentModulePreferencesType(($this->services['translator'] ?? $this->getTranslatorService()), ($this->services['prestashop.adapter.legacy.context'] ?? $this->getPrestashop_Adapter_Legacy_ContextService())->getLanguages(), ($this->services['prestashop.adapter.module.payment_module_provider'] ?? $this->load('getPrestashop_Adapter_Module_PaymentModuleProviderService.php'))->getPaymentModuleList(), ($this->services['prestashop.core.form.choice_provider.country_by_id'] ?? $this->load('getPrestashop_Core_Form_ChoiceProvider_CountryByIdService.php'))->getChoices(), ($this->services['prestashop.core.form.choice_provider.group_by_id'] ?? $this->load('getPrestashop_Core_Form_ChoiceProvider_GroupByIdService.php'))->getChoices(), ($this->services['prestashop.core.form.choice_provider.carrier_by_reference_id'] ?? $this->load('getPrestashop_Core_Form_ChoiceProvider_CarrierByReferenceIdService.php'))->getChoices(), ($this->services['prestashop.core.form.choice_provider.currency_by_id'] ?? $this->load('getPrestashop_Core_Form_ChoiceProvider_CurrencyByIdService.php'))->getChoices(), ($this->services['prestashop.adapter.data_provider.country'] ?? ($this->services['prestashop.adapter.data_provider.country'] = new \PrestaShop\PrestaShop\Adapter\Country\CountryDataProvider())));

in var/cache/dev/ContainerW7idPyE/appAppKernelDevDebugContainer.php require (line 2170)

            return require $this->containerDir.\DIRECTORY_SEPARATOR.'removed-ids.php';
        }
        protected function load($file, $lazyLoad = true)
        {
            return require $this->containerDir.\DIRECTORY_SEPARATOR.$file;
        }
        protected function createProxy($class, \Closure $factory)
        {
            class_exists($class, false) || $this->load("{$class}.php");

in vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php -> load (line 448)

            }
            if (null === $method) {
                return false !== $registry ? $this->{$registry}[$id] ?? null : null;
            }
            if (false !== $registry) {
                return $this->{$registry}[$id] ?? $this->{$registry}[$id] = $load ? $this->load($method) : $this->{$method}();
            }
            if (!$load) {
                return $this->{$method}();
            }

in vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Argument/ServiceLocator.php -> getService (line 42)

         *
         * @return mixed
         */
        public function get($id)
        {
            return isset($this->serviceMap[$id]) ? ($this->factory)(...$this->serviceMap[$id]) : parent::get($id);
        }
        /**
         * {@inheritdoc}
         */

in vendor/symfony/symfony/src/Symfony/Component/Form/Extension/DependencyInjection/DependencyInjectionExtension.php -> get (line 43)

        {
            if (!$this->typeContainer->has($name)) {
                throw new InvalidArgumentException(sprintf('The field type "%s" is not registered in the service container.', $name));
            }
            return $this->typeContainer->get($name);
        }
        public function hasType($name)
        {
            return $this->typeContainer->has($name);

in vendor/symfony/symfony/src/Symfony/Component/Form/FormRegistry.php -> getType (line 75)

            if (!isset($this->types[$name])) {
                $type = null;
                foreach ($this->extensions as $extension) {
                    if ($extension->hasType($name)) {
                        $type = $extension->getType($name);
                        break;
                    }
                }
                if (!$type) {

in vendor/symfony/symfony/src/Symfony/Component/Form/FormFactory.php -> getType (line 76)

            if (!\is_string($type)) {
                throw new UnexpectedTypeException($type, 'string');
            }
            $type = $this->registry->getType($type);
            $builder = $type->createBuilder($this, (string) $name, $options);
            // Explicitly call buildForm() in order to be able to override either
            // createBuilder() or buildForm() in the resolved form type

FormFactory->createNamedBuilder() in src/Core/Form/Handler.php (line 103)

         *
         * @throws Exception
         */
        public function getForm()
        {
            $formBuilder = $this->formFactory->createNamedBuilder($this->formName, $this->form);
            $formBuilder->setData($this->formDataProvider->getData());
            $this->hookDispatcher->dispatchWithParameters(
                "action{$this->hookName}Form",

Handler->getForm() in src/PrestaShopBundle/Controller/Admin/Improve/Payment/PaymentPreferencesController.php (line 67)

            $paymentPreferencesForm = null;
            $paymentModulesCount = 0;
            if ($isSingleShopContext) {
                $paymentModulesCount = count($paymentModulesListProvider->getPaymentModuleList());
                $paymentPreferencesForm = $this->getPaymentPreferencesFormHandler()->getForm()->createView();
            }
            return $this->render('@PrestaShop/Admin/Improve/Payment/Preferences/payment_preferences.html.twig', [
                'enableSidebar' => true,
                'help_link' => $this->generateSidebarLink($legacyController),

in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php -> indexAction (line 169)

            $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
            $controller = $event->getController();
            $arguments = $event->getArguments();
            // call controller
            $response = $controller(...$arguments);
            // view
            if (!$response instanceof Response) {
                $event = new ViewEvent($this, $request, $type, $response);
                $this->dispatcher->dispatch($event, KernelEvents::VIEW);

in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php -> handleRaw (line 81)

        {
            $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
            $this->requestStack->push($request);
            try {
                return $this->handleRaw($request, $type);
            } catch (\Exception $e) {
                if ($e instanceof RequestExceptionInterface) {
                    $e = new BadRequestHttpException($e->getMessage(), $e);
                }
                if (false === $catch) {

in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php -> handle (line 201)

            $this->boot();
            ++$this->requestStackSize;
            $this->resetServices = true;
            try {
                return $this->getHttpKernel()->handle($request, $type, $catch);
            } finally {
                --$this->requestStackSize;
            }
        }

Kernel->handle() in admin813ifk5z9ktw4pv5cbh/index.php (line 81)

    $request = Request::createFromGlobals();
    Request::setTrustedProxies([], Request::HEADER_X_FORWARDED_ALL);
    try {
        require_once __DIR__.'/../autoload.php';
        $response = $kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, false);
        $response->send();
        $kernel->terminate($request, $response);
    } catch (NotFoundHttpException $exception) {
        define('ADMIN_LEGACY_CONTEXT', true);
        // correct Apache charset (except if it's too late)

Link to comment
Share on other sites

4 minutes ago, doodlescreative said:

no he hablado con ellos porque no es una tienda creada por ionos, sino montada por mi en el servidor.

si pero los requisitos debe cumplir el servidor, la instalacion la hiciste sobre softacolous correcto?

Link to comment
Share on other sites

No, lo hice subiendo directamente prestashop, pero estoy viendo que me están surgiendo varios problemas raros, instale la versión 8.1 y luego actualice a 8.4.

Estoy por volver a montar una instalación nueva con la ultima versión de prestashop (por cierto que no se que versión de php es la mas adecuada, si funciona todo con la 8.2) pero ahora que me he currado todos los productos y teniendo en cuenta que si hago una exportación de productos no se guardan todas las opciones, no se que hacer.

 

Link to comment
Share on other sites

La clase Carrier tiene un override que no es compatible con tu version actual de PS. Podrías desactivar el modulo que hace el override (con eso se eliminaría el override correspondiente) o eliminar el código manualmente. La forma mas rápida de probarlo sin tener que tocar código es desactivando los Overrides en las opciones de Rendimiento de la tienda.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...